我的数据:
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, ....
谢谢你。你知道吗
哦,天哪,我完全错过了。我可以直接使用
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()
创建了一个垂直布局)相关问题 更多 >
编程相关推荐