[英]Rearranging Data in Python/Pandas: Turn specific column vlaues into headers
我得到了一個大型數據集,其數據排列如下:
location cost year
1 23.15 1986
1 23.91 1988
1 23.31 1989
1 23.91 1993
1 22.98 1994
1 23.99 1995
1 23.71 1997
1 23.01 1999
2 23.21 2000
2 24.28 2004
2 24.4 2005
我想重新安排它,使其形式為:
location 1985 1986 1987 1988
1 20.00 20.00 20.0 20.0
2 20.00 20.00 20.0 20.0
3 20.00 20.00 20.0 20.0
4 20.00 20.00 20.0 20.0
5 20.00 20.00 20.0 20.0
(請注意:忽略所有新成本都是20.0。我的目標是將year
列中的值轉換為標題,以便每個location
僅列出一次,而特定年份的cost
位於該列中。)
有沒有簡單的方法可以做到這一點? 我研究了成groupy
和transpose
但無法產生任何接近我想要的東西。
在此先感謝您提供的任何提示。
您需要使用pivot_table
:
pd.pivot_table(df, index='location', columns='year', values='cost', fill_value=0)
與您的樣品:
#Out[11]:
#year 1986 1988 1989 1993 1994 1995 1997 1999 2000 \
#location
#1 23.15 23.91 23.31 23.91 22.98 23.99 23.71 23.01 0.00
#2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 23.21
#year 2004 2005
#location
#1 0.00 0.0
#2 24.28 24.4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.