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

目标:计算原告和被告的数量,但不计算反被告或反原告的数量。不要计算 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_name

0   Jason Boyd          NaN                               Counter Defendant                  NaN                                Plaintiff                         NaN

1   Roberto Santana     Plaintiff                         NaN                                NaN                                NaN                               Counter Defendant

2   Raymond Satterfield Counter Defendant                 NaN                                NaN                                Plaintiff                         NaN

期望的输出:


Plaintiffs = 3

Defendants = 0

背景故事:我有一堆嵌套的 JSON,它是从 API 分页传递的。我已经取消嵌套并将页面附加在一起。


这给我留下了 100 行和可能的几十列。


编辑:我知道这已经被问过几次关于 Serieses 的问题,但我找不到整个 Dataframe 或者如何以半有效的方式在所有列上找到它。我需要查看这些 ~100x~200 DataFrames 中的大约 10,000 个。


慕容森
浏览 180回答 1
1回答

ABOUTYOU

您可以检查每个单元格中的确切字符串并在轴 0 和 1 上求和。df.eq('Plaintiff').sum().sum()使用 Numpy sum 会更有效,np.sum(df.eq('Plaintiff').values)3np.sum(df.eq('Defendants').values)3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python