Pandas.groupby():包含分组变量的聚合

2024-05-14 01:16:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据:

a_1, a_2, b_1, b_2, ...
0,   0,   1,   0,  ...
1,   0,   0,   1,  ...
1,   1,   1,   0,  ...
0,   1,   0,   0,  ...
etc...

我想对每一列的所有行求和,循环通过if a_1 == 1然后if b_1 == 1然后if c_1 == 1等等

现在我有testDict = {k : df[df[k + '_1']==1].groupby(k + '_1').sum() for k in letters}

但是,这将对所有列求和,除了我分组的列。。。我还想知道它的总数。有什么想法或建议吗?你知道吗

输出应如下所示:

testDict['a'] : 
a_1, a_2, b_1, b_2,  ...
2,   1,   1,   1, ...

testDict['b'] :
a_1, a_2, b_1, b_2,  ...
1,   1,   2,   0,  ....

谢谢你。你知道吗


Tags: 数据indfforifetc建议sum
1条回答
网友
1楼 · 发布于 2024-05-14 01:16:03

哦,天哪,我完全错过了。我可以直接使用testDict = {k : df[df[k + '_1']==1].sum() for k in letters}而不使用groupby!杜瑞尔。你知道吗

最后我用testDict = {k : pd.DataFrame(df[df[k + '_1']==1].sum()).transpose() for k in letters}来维护水平布局(.sum()创建了一个垂直布局)

相关问题 更多 >