我有一个如下所示的数据框格式:
0 1 2
rev rev1 rev2 rev3
num num1 num2 num3
我想将列名从 0 1 2
更改为第一个索引中的内容,然后删除该索引并将索引重命名为 0。所需的输出是
rev1 rev2 rev3
0 num1 num2 rev4
我的代码是这样的
df.columns = df.loc['rev',:]
df = df.drop('rev')
df.index = ['0']
我得到了输出
rev rev1 rev2 rev3
0 num1 num2 rev4
我的代码的问题是索引可以命名为任何东西,而不是 rev
总是。如果它被命名为其他任何我的代码不起作用。另外我不希望索引名称出现在左上角。
最佳答案
使用 .iloc
和 df rename
通过将第一行转换为 dict 即
df = df.rename(columns = df.iloc[0].to_dict()).iloc[1:]
输出:
rev1 rev2 rev3 num num1 num2 num3
如果你想重置索引,那么 df = df.reset_index(drop=True)
关于python-2.7 - 将列名转换为第一个索引中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46957631/