我有一個看起來像這樣的大資料框:
df=
team workplace job employee
a w1 j1 x
a w1 j1 y
a w1 j2 z
b w1 j1 x
b w1 j3 t
c w2 j4 s
c w2 j5 u
我根據以下內容將其拆分為多個資料幀team:
grouper = [g[1] for g in df.groupby(['team'])
我還有一個看起來像這樣的第二個資料框:
df2=
employee workplace feedback question
x w1 True q1
x w1 False q2
x w1 True q2
y w1 True q1
y w1 False q4
z w1 False q1
z w1 False q2
z w1 True q2
t w1 False q3
s w2 True q6
s w2 False q6
u w2 True q6
u w2 False q7
我知道如何將問題和反饋添加到團隊的資料框中:
grouper0_feedbacks = grouper[0].merge(df2, on=['employee', 'workplace'])
但是,當其中有這么多資料幀時,我如何在不手動撰寫的情況下為所有這些資料執行此操作grouper?
uj5u.com熱心網友回復:
更改操作順序應該在這里作業 - 首先merge,然后拆分:
df1 = df.merge(df2, on=['employee', 'workplace'])
grouper0_feedbacks = [g for _, g in df1.groupby(['team'])]
如果真的需要它使用串列理解 for 回圈:
grouper = [g for _, g in df.groupby(['team'])]
grouper0_feedbacks = [g.merge(df2, on=['employee', 'workplace']) for g in grouper]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331185.html
下一篇:Pandas:在資料框中查找復數
