如何计算每列动态的pandas中的标记总数?我在pandas数据框中有大约500列,每列有0和1作为值。
我想做这样的事情。
数据帧:
some_table
+----+-------------+------+
| id | some_column | type |
+----+-------------+------+
| 1 | value | 1 |
| 2 | value | 2 |
| 3 | value | 1 |
| .. | ... | ... |
| .. | ... | ... |
+----+-------------+------+
结果数据框
id|flag1|flag2|flag3|.....|flag500
1 | 0 | 1 | 0 |.....| 1
2 | 0 | 0 | 1 |.....| 0
3 | 0 | 0 | 0 |.....| 1
4 | 0 | 1 | 0 |.....| 1
5 | 0 | 0 | 0 |.....| 0
答案 0 :(得分:3)
来源DF
In [61]: df
Out[61]:
id flag1 flag2 flag3 flag500
0 1 0 1 0 1
1 2 0 0 1 0
2 3 0 0 0 1
3 4 0 1 0 1
4 5 0 0 0 0
计数
In [64]: df.filter(like='flag').sum()
Out[64]:
flag1 0
flag2 2
flag3 1
flag500 3
dtype: int64
有没有办法将结果作为数据框?
In [66]: df.filter(like='flag').sum().rename_axis('Flags').reset_index(name='counts')
Out[66]:
Flags counts
0 flag1 0
1 flag2 2
2 flag3 1
3 flag500 3