【发布时间】:2015-11-05 12:07:43
【问题描述】:
我在 pandas 中有相当大的数据框,并且想将所有索引行转换为列标题,并将所有列标题转换为索引行。是否有捷径可寻?我只知道df.pivot_table(),我必须在其中指定我的列和行(据我所知)。由于数据框很大,我正在寻找一种方法来规避它。有人知道什么好方法吗?
【问题讨论】:
-
您要转置还是重命名?
-
转置。谢谢!
我在 pandas 中有相当大的数据框,并且想将所有索引行转换为列标题,并将所有列标题转换为索引行。是否有捷径可寻?我只知道df.pivot_table(),我必须在其中指定我的列和行(据我所知)。由于数据框很大,我正在寻找一种方法来规避它。有人知道什么好方法吗?
【问题讨论】:
只需使用.T 转置它:
df = df.T
例子:
In [211]:
df = pd.DataFrame(columns=list('abcde'), data = np.random.randn(6,5))
df
Out[211]:
a b c d e
0 1.277750 -0.818470 0.221428 -0.828488 0.086669
1 -1.638219 0.365425 -0.052923 -0.498466 0.731609
2 0.631106 -0.028060 0.445067 0.263992 -2.446687
3 -0.169760 -1.405007 0.334086 0.213003 -0.313874
4 0.221344 1.758491 -0.636134 -1.710499 -1.219083
5 2.022891 -0.512623 0.803830 0.340616 0.884738
In [212]:
df.T
Out[212]:
0 1 2 3 4 5
a 1.277750 -1.638219 0.631106 -0.169760 0.221344 2.022891
b -0.818470 0.365425 -0.028060 -1.405007 1.758491 -0.512623
c 0.221428 -0.052923 0.445067 0.334086 -0.636134 0.803830
d -0.828488 -0.498466 0.263992 0.213003 -1.710499 0.340616
e 0.086669 0.731609 -2.446687 -0.313874 -1.219083 0.884738
或.transpose,如果您喜欢更明确并喜欢打字
【讨论】: