【发布时间】:2020-02-24 16:23:22
【问题描述】:
我有以下数据框
df = pd.DataFrame({'ISIN': ['A', 'B', 'C'],
'Jan': [40000, 50000, 42000],
'Feb': [40000, 50000, 42000],
'Mar': [40000, 50000, 42000]})
哪个产生
ISIN Jan Feb Mar
0 A 40000 50000 42000
1 B 40000 50000 42000
2 C 40000 50000 42000
我正在尝试生成数据如下所示的输出:
Date A B C
0 Jan 40000 40000 40000
1 Feb 50000 50000 50000
2 Mar 42000 42000 42000
我的第一遍是使用
简单地转置分析df = df.T
这种工作除了 ISIN 行(即我想要的列标题)仍在数据集中:
0 1 2
ISIN A B C
Jan 40000 40000 40000
Feb 50000 50000 50000
Mar 42000 42000 42000
然后我尝试在进行换位之前弹出 ISIN 行,即
ISIN = df.pop('ISIN') df = df.T
这去掉了 ISIN 行,但是当我尝试插入弹出的列(使用 df.insert)并更改轴时...我卡住了
我也尝试过使用 df.melt,但我很难在正确的地方得到正确的东西
我确信这很容易,但我在这里绕圈子,我真的很感激一些智慧。
谢谢!
【问题讨论】:
-
在您的初始 DataFrame 中,
ISIN是一列。尝试将其设置为索引,然后转置:df = df.set_index('ISIN').T -
谢谢。我显然是个笨蛋——但幸运的是你不是!!