簡體   English   中英

如何將dataframe pandas中的列合並為單列?

[英]How to merge columns into single column in dataframe pandas?

原件 dataframe

Parent  Family Name  Money A  Money B

Jack    Everdeen     10000    20000
Rita    Lawrence     4000     2000
Amy     Donnie       5000     9000

我想要的是。

Parent  Family Name  Money     Money

Jack    Everdeen     Money A   10000    
Jack    Everdeen     Money B   20000
Rita    Lawrence     Money A   4000     
Rita    Lawrence     Money B   2000
Amy     Donnie       Money A   5000     
Amy     Donnie       Money B   9000

我用 pivot function 試過了,但它不起作用。 我的代碼如下。

data_1 = [['Jack','Everdeen',10000,20000],['Rita','Lawrence',4000,2000],['Amy','Donnie',5000,9000]]
df_1 = pd.DataFrame(data_1,columns=['Parent','Family Name','Money A','Money B'],dtype=float)
print(df_1)
loading_pivot_table = pd.pivot_table(df_1
                                     ,index = ['Parent','Family Name']
                                     ,columns = ['Parent','Family Name']
                             ,values = ['Money A','Money B']
                            ,fill_value = 0)
#convert pivot table to DataFrame
loading_pivot_table_convert = loading_pivot_table.reset_index()
print(loading_pivot_table_convert)

融化

 pd.melt(df_1, id_vars=['Parent','Family Name'], var_name='MoneyCol', value_name='Money').sort_values('Parent',ascending=False)
Out[13]: 
  Parent Family Name MoneyCol    Money
1   Rita    Lawrence  Money A   4000.0
4   Rita    Lawrence  Money B   2000.0
0   Jack    Everdeen  Money A  10000.0
3   Jack    Everdeen  Money B  20000.0
2    Amy      Donnie  Money A   5000.0
5    Amy      Donnie  Money B   9000.0

你試過設置索引嗎?

df.set_index(['a', 'b', 'c'])

暫無
暫無

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

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