所以我有一个包含列的数据框:
| 地区 | 项目 | 单位 | Y2000 | Y2001 | Y2002 |
这里的复合键是 Area 和 Item。在这种情况下,项目是为该区域测量的内容。单位是被测量的单位。以下是每年的值。
我想使表格的结构如下:
| 地区 | 项目 | 单位 | 年 | 价值 |
所以现在每年都有一行,值列包含那一年该地区项目中的内容
例子:
安提瓜和巴布达 | 平均膳食能量供应充足率 | % | 南| 90 | 80 |
安提瓜和巴布达 | 平均膳食能量供应充足率 | % | 2000 | 南|
安提瓜和巴布达 | 平均膳食能量供应充足率 | % | 2001 | 90 |
安提瓜和巴布达 | 平均膳食能量供应充足率 | % | 2002 | 80 |
我对熊猫很陌生,并试图让它与枢轴一起工作,但无法想出任何有用的东西。我可以使用 for 循环手动执行此操作,但我想我会询问一些更有经验的 Pandas 用户他们的想法。
尝试.melt
:
out = df.melt(id_vars=["Area", "Item", "Unit"], var_name="Year")
out.Year = out.Year.str.strip("Y").astype(int)
print(out)
印刷:
Area Item Unit Year value
0 Antigua and Barbuda Average dietary energy supply adequacy % 2000 NaN
1 Antigua and Barbuda Average dietary energy supply adequacy % 2001 90.0
2 Antigua and Barbuda Average dietary energy supply adequacy % 2002 80.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句