pandas DataFrame 中布尔数组的逐行总和

row-wise sum of boolean arrays in pandas DataFrame

给定数据帧 df:

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

                        A
0  [True, False, True, False]

1  [True, True, False, False]

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

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

什么命令可以做到这一点?

让我们试试

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

另一种方式(如果不转换为数据框和列表可能会更快):

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

+0是将boolean转换为int,求和是沿轴0(row-wise)。