我有一个数据帧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和1的数量。所以预期的结果将是:
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)
有人可以帮忙吗?
答案 0 :(得分:3)
您可以针对每种情况致电sum
,1
条件很简单sum
axis=1
,第二种情况可以将df与{{{ 1}}值,然后像以前一样调用0
:
sum
答案 1 :(得分:1)
我愿意:
df["sum_0"] = df.apply(lambda row: sum(row[0:3]==0) ,axis=1)