概述
我有以下 Pandas 子数据框
col1 name1 name2
522 a 10 0.2
1021 b 72 -0.1
col1
没有重复。我想转置数据框并将列标题更改为col1
值。理想情况下,输出应如下所示
Variable a b
name1 10 72
name2 0.2 -0.1
很容易转置 df 并将第一列标记为变量
df.transpose().reset_index().rename(columns={'index':'Variable'})
结果 DF 将原始 DF 的索引作为列标题(并且它们没有排序并且不在我的数据中从 1 开始!)如何更改其余的列名?
解决方案
需要 set_index+ T
:
df = df.set_index('col1').T
print (df)
col1 a b
name1 10.0 72.0
name2 0.2 -0.1
df = df.set_index('col1').T.rename_axis('Variable').rename_axis(None, 1)
print (df)
a b
Variable
name1 10.0 72.0
name2 0.2 -0.1
如果需要来自索引的列:
df = df.set_index('col1').T.rename_axis('Variable').rename_axis(None, 1).reset_index()
print (df)
Variable a b
0 name1 10.0 72.0
1 name2 0.2 -0.1
转载自https://stackoverflow.com/questions/47139203/transpose-pandas-dataframe-and-change-the-column-headers-to-a-list
最后
以上就是彩色斑马为你收集整理的转置 Pandas DataFrame 并将列标题更改为列表解决方案的全部内容,希望文章能够帮你解决转置 Pandas DataFrame 并将列标题更改为列表解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复