[英]How can I pivot this Pandas DataFrame?
我正在讀取具有以下結構的csv文件:
Continent, Country, Year, GDP
所有國家都有多年,但有些國家可能會錯過一些年。
我的目標是將大陸和國家作為索引,並將每年的GDP作為列。
Continent Country 2009 2010 2011 2012 2013 2014
我已經試過了:
df.pivot(index=["Continent", "Country"], columns="Year", values="GDP")
但這給了我這個錯誤:
ValueError: Buffer has wrong number of dimensions (expected 1, got 2)
您可以嘗試以下示例數據:
pd.DataFrame(columns=['Continent', 'Country', 'Year', 'GDP'],
data=[['NA', 'US', 2014, 1234], ['NA', 'US', 2013, 2345]])
如果使用pivot_table
而不是pivot
,它將起作用:
In [47]: df.pivot_table(index=["Continent", "Country"], columns="Year", values="GDP")
Out[47]:
Year 2013 2014
Continent Country
NA US 2345 1234
問題是pivot
無法處理index / columns參數的列列表。 唯一的警告是,如果一個大洲/國家/地區/年份組合有多個值,則默認值為均值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.