我想转置表并重命名索引。
如果我显示df
with existing index Time
I get
Time v1 v2
1 0.5 0.3
2 0.2 0.1
3 0.3 0.3
之后df.transpose()
I'm at
Time 1 2 3
v1 0.5 0.2 0.3
v2 0.3 0.1 0.3
有趣的是,如果我现在这样做df.Time
I get
AttributeError: 'DataFrame' object has no attribute 'Time'
尽管它显示在输出中。
我找不到轻松重命名列的方法Time
to Variable
并将其设置为新索引..
I tried df.reset_index().set_index("index")
但我得到的是看起来像这样的东西:
Time 1 2 3
index
v1 0.5 0.2 0.3
v2 0.3 0.1 0.3
您只需将列名称重命名为rename_axis http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#changes-to-rename:
print (df.transpose().rename_axis('Variable', axis=1))
Variable 1 2 3
v1 0.5 0.2 0.3
v2 0.3 0.1 0.3
或者通过分配名称设置新的列名称:
df1 = df.transpose()
df1.columns.name = 'Var'
print (df1)
Var 1 2 3
v1 0.5 0.2 0.3
v2 0.3 0.1 0.3
但我认为你需要设置新列index
然后重命名列index
to var
,还将列名称重置为None
:
df1 = df.transpose().reset_index().rename(columns={'index':'var'})
df1.columns.name = None
print (df1)
var 1 2 3
0 v1 0.5 0.2 0.3
1 v2 0.3 0.1 0.3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)