【问题标题】:How to rename dataframe index efficiently using a python list?如何使用 python 列表有效地重命名数据框索引?
【发布时间】:2020-04-10 16:44:33
【问题描述】:

我有一个 pandas 数据框和一个如下所示的有序列表

df = pd.DataFrame([[1, 2, 3], [4, 5 ,6]], columns=list('ABC'))
df = df.rename(index={0:'x1'})
df = df.rename(index={1:'x2'})

请注意,我已经推荐了post

列表如下图所示

ordered_list = ['Name_1','Name_2']

这是我正在尝试的,但效率不高,不能用于具有更多记录的数据框

df = df.rename(index={'x1':'Name_1'})
df = df.rename(index={'x2':'Name_2'})

您可以看到我使用rename 函数重命名了索引。但是有没有办法使用可用的ordered list 有效地做到这一点?因为我的真实数据有more than 60 index values

我的意思是列表中的第一个元素对应于x1,列表中的第二个元素对应于x2等。

我希望我的输出如下所示

【问题讨论】:

  • df.index = ordered_list

标签: python python-3.x pandas dataframe rename


【解决方案1】:

只需使用:

df.index = ordered_list

【讨论】:

  • @SSMK 没问题
【解决方案2】:

你可以这样做,那么你就不需要有序列表了:

df.index = df.reset_index().index+1
df = df.T.add_prefix('Name_').T

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-24
    • 2019-11-01
    • 2022-01-18
    • 2019-05-15
    • 2019-09-27
    • 1970-01-01
    • 2015-06-04
    • 2018-04-02
    相关资源
    最近更新 更多