问题描述
给出数据框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]