簡體   English   中英

在Python / Pandas中重新排列數據:將特定的列vlaues轉換為標題

[英]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位於該列中。)

有沒有簡單的方法可以做到這一點? 我研究了成groupytranspose但無法產生任何接近我想要的東西。

在此先感謝您提供的任何提示。

您需要使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM