Pandas如何统计满足df['A']==df['B']或df['B']为空列表的行数
实现方法
由于DataFrame中A、B两列存储的是列表类型数据,无法直接通过列级的==运算判断两个列表是否完全相等,需要逐行校验取值:
# 条件1:A列与B列列表完全一致 cond_a_equal_b = df.apply(lambda row: row["A"] == row["B"], axis=1) # 条件2:B列为空列表 cond_b_is_empty = df["B"].apply(lambda x: len(x) == 0) # 统计满足任意一个条件的总行数 result = (cond_a_equal_b | cond_b_is_empty).sum()
结果说明
针对你给出的示例数据,最终统计结果为4,符合条件的是前4行:
- 第1、2行满足A与B列表相等
- 第3、4行满足B列为空列表
- 第5行两个条件都不满足,不计入统计
内容的提问来源于stack exchange,提问作者melatonin15
相关产品推荐
相关产品推荐

