<分区>
我有一个包含 3 列的 pandas 数据框:source_name
、dest_address
和 fall_between
。我想按前 2 列分组并根据 fall_between
列创建 2 个新列。这是 df 的样子:
df
source_name dest_address fall_between
0 source_1 72.21.215.90 False
1 source_1 72.21.215.90 False
2 source_1 72.21.215.90 False
3 source_1 72.21.215.90 False
4 source_1 131.107.0.89 False
5 source_1 131.107.0.89 False
6 source_2 69.63.191.1 False
7 source_2 69.63.191.1 True
8 source_2 69.63.191.1 True
9 source_2 69.63.191.1 True
10 source_2 69.63.191.1 True
期望的输出:
df
source_name dest_address true_count false_count
0 source_1 72.21.215.90 0 4
1 source_1 131.107.0.89 0 2
2 source_2 69.63.191.1 4 1
我正在使用以下内容,但如果它为 0,我不会得到计数。执行此操作的更好方法是什么?
df[df['fall_between'] == True].groupby(['source_name','dest_address']).size().reset_index(name='true_count')
df[df['fall_between'] == False].groupby(['source_name','dest_address']).size().reset_index(name='false_count')