嘿,标题可能很难理解,因此基本上这是我的DataFrame的一小部分。
A B C D E F G H J K action
0 22 noise
1 68 junk
2 93 junk
3 80 junk
4 57 noise
“操作”列只有两个值(“噪声”和“垃圾”)。例如,在第一行的第一列中,“ F”的值为22,它的作用是噪声,而我想计算当操作为“噪声”时,“ F”具有非空值的次数,而当操作为“噪声”时,动作是“垃圾”。当然,我还要对所有其他单个字母列进行计数。因此,我想拥有一个看起来像这样的字典,其中内部字典具有每个动作的计数。
{'F': {'noise': 1, 'junk': 0},
'G': {'noise': 0, 'junk': 1},
'E': {'noise': 0, 'junk': 1},
'C': {'noise': 0, 'junk': 1},
'J': {'noise': 1, 'junk': 0}
}
我已经尝试过df.iterrows()和df.notnull(),但是我似乎无法理解正确的逻辑。
编辑-更新了预期的输出。
使用notnull()
来掩盖你的df
,groupby
每个动作和简单sum
df.iloc[:, :-1].notnull().astype(int).groupby(df.action).sum().to_dict()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句