python-2.7 - 将列名转换为第一个索引中的值

标签 python-2.7 pandas

我有一个如下所示的数据框格式:

       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 总是。如果它被命名为其他任何我的代码不起作用。另外我不希望索引名称出现在左上角。

最佳答案

使用 .ilocdf 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/

相关文章:

python - 计算列表列表中的不同值 - Python

python - 使用尾元组的变量迭代元组列表

python - Pandas:将分组的 df 转换为以两列作为键、值对的字典列表

python - 如何使用for循环乘以python DataFrame中的单个值

python - Pandas 相当于 np.where

python - Tcl 错误 : can't invoke "destroy" command: application has been destroyed

python - 隐藏python代码

python - Pandas : Adding new column depending on a group aggregation

python - 从数据库读取数据时如何避免 pandas 数据框列值中的尾随零?

pandas - 使用带有整数标签的多索引索引对数据帧进行部分更新