我有一个如下格式的数据框
国家 | 指标名称 | 值西班牙 | 指标1 | 3西班牙 | 指标2 | 4德国 | 指标16 | 24......
我想将其转换为一个以指标名称为列、国家为行、值为交叉点的新的数据框
国家 | 指标1 | 指标2 | 指标3 | ......西班牙 | 3 | 4 | 16 | ......德国 | 23 | 232 | 232 | .............
我尝试通过groupby([“指标名称”,”值”])来进行操作,但不确定如何继续
import pandas as pd指标 = pd.read_csv("Indicators.csv")指标.groupby(["指标名称","值"]).....
是否有适当的方法来处理这个问题,还是需要通过迭代来完成?
回答:
由于期望的数据框似乎有不同的值,我不确定初始数据框的格式。
下面的代码是否有帮助?
df = pd.DataFrame({'国家' : ['西班牙', '西班牙', '德国'], '指标名称':['指标1', '指标2', '指标16'], '值':[3, 4, 24] })df.pivot(index = '国家', columns='指标名称', values='值').fillna(0)指标名称 指标1 指标16 指标2 国家 德国 0.0 24.0 0.0 西班牙 3.0 0.0 4.0