簡體   English   中英

Groupby,透視並返回熊貓數據框中的所有列

[英]Groupby, pivot and return all columns in a pandas dataframe

我有一個看起來像這樣的熊貓dataframe

    col1    col2    col3    col4    col5    status  count
0   AA      PP      X       Y       13.1764     0   1.0
1   AA      PP      X       Y       12.145      0   1.0
2   AA      PP      X       Y       13.17       0   2.0
3   AA      PP      X       Y       23.5        0   2.0
4   AA      PP      X       Y       1100.4      0   2.0
5   AA      PP      X       Y       20.5        0   3.0
6   AA      PP      X       Y       1300.0      0   3.0
...

我正在嘗試做什么?

  1. col1分組
  2. 然后按count分組
  3. 展平col5col5加到其他所有內容

最終的數據框應如下所示:

AA         col2 col3 col4 status count1 count2 count3
count  1.0  PP  X    Y     0     13.1764 12.145 NA 
       2.0  PP  X    Y     0     13.17   23.5   1100.4  
       3.0  PP  X    Y     0     20.5    1300.0 NA  

我看過很多groupybypivot問題,相信我,我已經嘗試了很多,浪費了一個小時,但還是做對了。

如果每個組的所有列的值與示例數據中的相同,請使用GroupBy.cumcountpivot_table

g = df.groupby('count').cumcount()
df1 = (df.pivot_table(index=['col1','count','col2','col3','col4','status'],
                    columns=g, 
                    values='col5')
         .add_prefix('count')
         .reset_index())
print (df)
  col1  count col2 col3 col4  status   count0    count1  count2
0   AA    1.0   PP    X    Y       0  13.1764    12.145     NaN
1   AA    2.0   PP    X    Y       0  13.1700    23.500  1100.4
2   AA    3.0   PP    X    Y       0  20.5000  1300.000     NaN

暫無
暫無

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

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