该任务涉及转置 CSV 格式的数据表,其中“指标”列值变为新的专栏。所需的结果是扁平格式,其中行由“国家”和“年份”定义,列是“指标”值。
要实现枢轴操作,可以利用 .pivot 方法作为如下所示:
out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
此方法重新排列数据,使“国家”和“年份”成为行索引,“指标”值成为列。生成的“out”变量保存透视数据。
要将数据返回为平面表格式,可以使用 .rename_axis 从列中消除“Indicator”标签,并使用 .reset_index 恢复“Country”和“年份”作为列。
print(out.rename_axis(columns=None).reset_index())
这会生成一个带有“国家/地区”的扁平表格, “年份”和“指标”值作为列。
如果“国家/地区”、“年份”和“指标”重复' 原始数据集中的组合,可以使用.pivot_table。它对重复值执行聚合(默认平均值)。
out = df.pivot_table( index=['Country', 'Year'], columns='Indicator', values='Value') print(out.rename_axis(columns=None).reset_index())
此方法会生成一个扁平化的表格,其中对重复值进行平均,并且列中省略了“指标”标签。
有关重塑和数据透视表的更多详细信息,请参阅Pandas,请参阅以下资源:
以上是如何将 Pandas 中的数据表转换为'指标”列值成为新列?的详细内容。更多信息请关注PHP中文网其他相关文章!