为了账号安全,请及时绑定邮箱和手机立即绑定

将 Pandas 中的数据框从迭代列表转换为适当的列和行

将 Pandas 中的数据框从迭代列表转换为适当的列和行

墨色风雨 2021-09-02 20:09:53
我有一个看起来像的数据框Country | IndicatorName | ValueSpain   | Indicator1    | 3Spain   | Indicator2    | 4Germany | Indicator16   | 24......我想将它转换成一个带有 IndicatorName 列、Country 行和 Value 交叉点的数据框Country | Indicator 1 | Indicator 2 | Indicator 3 | ......Spain   |     3       |     4       |   16        | ......Germany |     23      |     232     |   232       | .............我正在尝试通过 groupby(["IndicatorName","Value"]) 但不知道如何继续import pandas as pdindicators = pd.read_csv("Indicators.csv")indicators.groupbby(["IndicatorName","Value"]).....有没有合适的方法来处理这个问题还是需要通过迭代来完成?
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

我不确定初始 df 格式,因为所需的 df 似乎具有不同的值。


下面的有用吗?


df = pd.DataFrame({'Country' : ['Spain', 'Spain', 'Germany'],

                   'IndicatorName':['Indicator1', 'Indicator2', 'Indicator16'],

                  'Value':[3, 4, 24]

                  })



df.pivot(index = 'Country', columns='IndicatorName', values='Value').fillna(0)



IndicatorName   Indicator1  Indicator16     Indicator2

    Country             

    Germany            0.0        24.0              0.0

    Spain              3.0         0.0              4.0


查看完整回答
反对 回复 2021-09-02
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信