【问题标题】:Delete first column and then take them as a index pandas删除第一列,然后将它们作为索引 pandas
【发布时间】:2019-01-01 20:52:14
【问题描述】:

我有一个像这样的word2vec 数据框,它使用 txt 文件下的 Gensim 从 save_word2vec_format 保存。使用 pandas 读取此文件后。 (下图)。如何删除第一行并将它们作为索引? 我的txt文件:https://drive.google.com/file/d/1O206N93hPSmvMjwc0W5ATyqQMdMwhRlF/view?usp=sharing

【问题讨论】:

    标签: python pandas dataframe nlp word2vec


    【解决方案1】:

    试试这个,

    将索引替换为标题,

    _X_T.index=_X_T.columns
    

    将第一行替换为标题,

    _X_T.index=_X_T.iloc[0]
    

    【讨论】:

    • 如果他用第一行替换索引,他不会得到Length mismatch 吗?因为他会有额外的一行(你刚刚设置为索引的那一行)
    • @moshevi - 它仅适用于 mXm 数据帧。使用第一列间接设置索引意味着 mXm 结构。如果 mXn 是一个数据框,那么按第一行设置索引是没有意义的
    • 不,你错了。这是我的txt文件drive.google.com/file/d/1O206N93hPSmvMjwc0W5ATyqQMdMwhRlF/…
    【解决方案2】:

    保存行:

    new_index = df.iloc[0]
    

    删除它以避免长度不匹配:

    df.drop(df.index[0], inplace=True)
    

    并设置它:

    df.set_index(new_index, inplace=True)
    

    你会得到一个SettingWithCopyWarning,但这是我能想到的最优雅的解决方案。

    如果你想设置标题(而不是第一行):

    df.index = df.columns
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-01
    • 2021-12-21
    • 2019-05-27
    • 2022-07-12
    • 2019-01-14
    • 2020-11-22
    • 1970-01-01
    • 2014-01-25
    相关资源
    最近更新 更多