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

我有一个看起来像的数据框


Country | IndicatorName | Value

Spain   | Indicator1    | 3

Spain   | Indicator2    | 4

Germany | 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 pd

indicators = pd.read_csv("Indicators.csv")

indicators.groupbby(["IndicatorName","Value"])

.....

有没有合适的方法来处理这个问题还是需要通过迭代来完成?


墨色风雨
浏览 125回答 1
1回答

慕后森

我不确定初始 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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python