例如,我有一個熊貓數據框如下:插入行作爲GROUPBY操作的結果到原始數據幀
col_1 col_2 col_3 col_4
a X 5 1
a Y 3 2
a Z 6 4
b X 7 8
b Y 4 3
b Z 6 5
而且我想,在COL_1每個值,在col_3添加值和COL_4(以及更多列),它們與col_2中的X和Z相對應,並使用這些值創建一個新行。所以輸出會如下:
col_1 col_2 col_3 col_4
a X 5 1
a Y 3 2
a Z 6 4
a NEW 11 5
b X 7 8
b Y 4 3
b Z 6 5
b NEW 13 13
而且,有可能是在COL_1更多的價值,這將需要相同的待遇,所以我不能明確地引用「A」和「B」。我試圖使用groupby('col_1')和apply()的組合,但是我無法使其工作。我已經足夠接近下面的內容了,但是我無法在col_2中添加「新」,並將原始值(a或b等)保留在col_1中。
df.append(df[(df['col_2'] == 'X') | (df['col_2'] == 'Z')].groupby('col_1').mean())
謝謝。
你能保證X和Z只出現在一個組中嗎? –
是的,在col_1中每個值總是3行,col_2中的X,Y和Z只有一次。 col_4之後的列數不確定,但它總是一個列,需要按照與col_3和col_4相同的方式進行處理,即X和Z的總和。 – Saturate