簡體   English   中英

如何將 pandas dataframe 多列轉換為單列

[英]How to convert a pandas dataframe multicolumn to one single column

I am trying to convert a pandas dataframe with different columns per year, to a pandas dataframe with one column with the value and other column with the year:

輸入

column name: a, b, c, d
column 2015: 1, 2, 3, 4
column 2016: 5, 6, 7, 8

所需 output

column name: a, b, c, d, a, b, c, d
column year: 2015, 2015, 2015, 2015, 2016, 2016, 2016, 2016
column value: 1, 2, 3, 4, 5, 6, 7, 8

我嘗試使用 for 循環並融化 function 但不是理想的解決方案。

謝謝!

pandas.melt可以完成這項工作。

print(df)
###
  name  2015  2016
0    a     1     5
1    b     2     6
2    c     3     7
3    d     4     8
print(pd.melt(df, value_vars=['2015', '2016'], var_name='year', id_vars='name'))
###
  name  year  value
0    a  2015      1
1    b  2015      2
2    c  2015      3
3    d  2015      4
4    a  2016      5
5    b  2016      6
6    c  2016      7
7    d  2016      8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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