熊猫DataFrame中布尔数组的逐行求和

问题描述

给出数据框df:

import pandas as pd
df = pd.DataFrame({'A':[np.array([True,False,True,False]),np.array([True,False])]})

                        A
0  [True,False]

1  [True,False]

如何获取布尔值的整数版本的按行求和?例如:

cmd(A) = [2,1,0]

什么命令可以做到?

解决方法

另一种方式(可能无需所有转换即可将其更快地转换为数据框和列表)

(df.A.values+0).sum(0)
#[2 1 1 0]

+0是将布尔值转换为int且总和沿0轴(行)。

,

让我们尝试

pd.DataFrame(df.A.tolist()).sum().tolist()
[2,1,0]