我有一个数据框df:
domain country out1 out2 out3
oranjeslag.nl NL 1 0 NaN
pietervaartjes.nl NL 1 1 0
andreaputting.com.au AU NaN 1 0
michaelcardillo.com US 0 0 NaN
我想定义两列sum_0和sum_1并计算每行列(out1,out2,out3)中的0和1s数。因此,预期结果将是:
domain country out1 out2 out3 sum_0 sum_1
oranjeslag.nl NL 1 0 NaN 1 1
pietervaartjes.nl NL 1 1 0 1 2
andreaputting.com.au AU NaN 1 0 1 1
michaelcardillo.com US 0 0 NaN 2 0
我有这段代码用于计算1的数量,但是我不知道如何计算0的数量。
df['sum_1'] = df[['out_1','out_2','out_3']].sum(axis=1)
有人可以帮忙吗?
您可以sum
为每个条件调用,1
条件很简单,只需简单sum
地axis=1
进行操作即可;第二秒,您可以将df与0
value进行比较,然后sum
像以前一样调用:
In [102]:
df['sum_1'] = df[['out1','out2','out3']].sum(axis=1)
df['sum_0'] = (df[['out1','out2','out3']] == 0).sum(axis=1)
df
Out[102]:
domain country out1 out2 out3 sum_0 sum_1
0 oranjeslag.nl NL 1 0 NaN 1 1
1 pietervaartjes.nl NL 1 1 0 1 2
2 andreaputting.com.au AU NaN 1 0 1 1
3 michaelcardillo.com US 0 0 NaN 2 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句