为了账号安全,请及时绑定邮箱和手机立即绑定

如何在整个 DataFrame 上做 pd.Series.str.count() 的等效?

如何在整个 DataFrame 上做 pd.Series.str.count() 的等效?

慕容森 2021-11-16 09:56:43
目标:计算原告和被告的数量,但不计算反被告或反原告的数量。不要计算 NaN。假设 ~200 行和最多 100 列的名称类似于下面的示例。数据:    cl_parties_1_name   cl_parties_1_party_types_0_name   cl_parties_1_party_types_10_name  cl_parties_1_party_types_12_name    cl_parties_1_party_types_1_name   cl_parties_1_party_types_2_name0   Jason Boyd          NaN                               Counter Defendant                  NaN                                Plaintiff                         NaN1   Roberto Santana     Plaintiff                         NaN                                NaN                                NaN                               Counter Defendant2   Raymond Satterfield Counter Defendant                 NaN                                NaN                                Plaintiff                         NaN期望的输出:Plaintiffs = 3Defendants = 0背景故事:我有一堆嵌套的 JSON,它是从 API 分页传递的。我已经取消嵌套并将页面附加在一起。这给我留下了 100 行和可能的几十列。编辑:我知道这已经被问过几次关于 Serieses 的问题,但我找不到整个 Dataframe 或者如何以半有效的方式在所有列上找到它。我需要查看这些 ~100x~200 DataFrames 中的大约 10,000 个。
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您可以检查每个单元格中的确切字符串并在轴 0 和 1 上求和。


df.eq('Plaintiff').sum().sum()

使用 Numpy sum 会更有效,


np.sum(df.eq('Plaintiff').values)


3


np.sum(df.eq('Defendants').values)


3


查看完整回答
反对 回复 2021-11-16
  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信