如何使用pandas计算列中具有特定字符串值的行数?



我有一个熊猫列,dtype 'object'包含数值和值'?'

我应该如何继续计算具有'?'值的行数?

I'm trying to run:

question_mark_count = df['column'].str.contains('?').sum()

在具有数字值和一些问号'?',但我得到错误:

AttributeError: Can only use .str accessor with string values!

当我运行df.dtypes时,我可以看到列是'object' type

我还尝试将列转换为字符串:

df["column"] = df["column"].astype("string")

但是我仍然得到相同的错误。

进一步探索可能性:

df["column"].str.contains('?').value_counts()

np.nan pd.NA ints floatsdf['column']免疫

这个怎么样?

>>> (df["column"].str.contains('?')).astype('int').sum()

就我而言,前面的答案几乎是正确的。尝试在contains函数的调用中添加na=False:

df["column"].str.contains('?', na=False).astype('int').sum()

相关内容

  • 没有找到相关文章

最新更新