2 回答

TA貢獻1856條經(jīng)驗 獲得超11個贊
您可以在 agg 函數(shù)中使用 lambda 計算 True 項目
new_df = (
df
.assign(
col_3 = lambda x: x['col_3'].astype(int),
col_4 = lambda x: x['col_4'].astype(int)
)
.groupby(['col_6', 'col_5'])
.agg({'col_5' : ['count'],
'col_1' : ['mean'],
'col_2' : ['mean'],
'col_3' : lambda x: len([1 for item in x if item ==True]),
'col_4' : lambda x: len([1 for item in x if item ==True])}
)
)

TA貢獻1796條經(jīng)驗 獲得超7個贊
您可以像對整數(shù)求和一樣對布爾值求和:
[ins] In [15]: df["y"]
Out[15]:
0 True
1 True
2 False
Name: y, dtype: bool
[ins] In [16]: df["y"].sum()
Out[16]: 2
所以你可以在你的字典中使用例如"col_3": ["sum"]。
添加回答
舉報