如何计算 Pandas 中多列的特定值

The*_*kie 7 python pandas

我有数据框

df = pd.DataFrame({
    'colA':['?',2,3,4,'?'],
    'colB':[1,2,'?',3,4],
    'colC':['?',2,3,4,5]
})
Run Code Online (Sandbox Code Playgroud)

我想计算'?'每列中的数量并返回以下输出 -

colA - 2
colB - 1
colC - 1
Run Code Online (Sandbox Code Playgroud)

有没有办法立即返回此输出。现在我知道怎么做的唯一方法是为每列编写一个 for 循环。

Bea*_*own 9

看起来简单的方法是

df[df == '?'].count()

结果是

colA    2
colB    1
colC    1
dtype: int64
Run Code Online (Sandbox Code Playgroud)

在哪里df[df == '?']给我们 DataFrame?Nan

  colA colB colC
0    ?  NaN    ?
1  NaN  NaN  NaN
2  NaN    ?  NaN
3  NaN  NaN  NaN
4    ?  NaN  NaN
Run Code Online (Sandbox Code Playgroud)

以及每列的非 NA 单元格计数

请查看其他解决方案:可读性强速度最快