我的数据:
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, ....
谢谢。
答案 0 :(得分:0)
testDict = {k : df[df[k + '_1']==1].sum() for k in letters}
而没有groupby! durrrr。
我最终使用testDict = {k : pd.DataFrame(df[df[k + '_1']==1].sum()).transpose() for k in letters}
来维护水平布局(.sum()
创建了垂直布局)