我正在絆倒精確(或至少最優雅的)步驟來分組和聚合Pandas中的一些數據。比方說,我有一個數據幀,看起來是這樣的 -在Pandas中總結分組數據,同時在羣組部分之後進行過濾
system sub_system datatype datacount
a 1 foo 111
a 1 bar 222
a 1 baz 333
a 2 foo 444
a 2 baz 555
b 1 foo 667
b 3 baz 777
我想獲得DATACOUNT的總和,同時通過系統和sub_system分組,只要數據類型不等於欄,然後把那些總計回原始數據框。
如果我嘗試non_bar_totals = df [df.datatype!='bar']。groupby(['system','sub_sytem'])。agg(np.sum),它會得到類似於 -
count
system sub_system
a 1 444
a 2 999
b 1 667
b 3 777
但現在我不知道如何將該計數值推回到原始的DataFrame中。什麼是正確的語法讓這些計數被推回原始的數據框?最終產品應該像 -
system sub_system datatype datacount non_bar_total
a 1 foo 111 444
a 1 bar 222 444
a 1 baz 333 444
a 2 foo 444 999
a 2 baz 555 999
b 1 foo 667 667
b 3 baz 777 777
謝謝,我知道這是簡單的東西,我只是缺少正確的關鍵字找人的做一個例子。
感覺就像是你應該能夠使用轉換像'g.transform(拉姆達X:X [「DATACOUNT」]其中(x ['datatype']!='bar')。sum())'但不完全。 –