【问题标题】:how to count missing values that are not the regular missing in pandas如何计算熊猫中不常见的缺失值
【发布时间】:2022-11-03 23:11:05
【问题描述】:

我有一个 Dataframe,它有一些空值,还有其他我应该算作缺失的条目。我想考虑的缺失形式是:

  • 来自 pandas 的正常空值
  • 字符串不适用
  • 0.0
  • “-”

我想确定每列缺失值的百分比。

我试过这个

   # Total null values
    mis_val = df.isnull().sum()
    
    # N/A values
    mis_val = mis_val+(df=='N/A').sum()
    
    # Percentage of total data
    mis_val_percent = 100 * mis_val / len(df)

但是第二行代码似乎并没有达到我的预期。我希望它计算每列“N/A”的数量

【问题讨论】:

  • 这应该有效。您能否编辑您的问题以包含 minimal reproducible example 显示您的输入数据帧和预期输出的示例,以便我们更好地了解您正在尝试做什么。

标签: python pandas missing-data


【解决方案1】:

这是一种解决方法

# define regex pattern on values that you like treated as null
# remember to escape the regex character

# defined N/A, 0.0, and - : /, . and - are all escaped with 
pat = 'N/A|0.0|-'

# replace values defined in pat with np.nan
# check if its null and take the sum

df['col'].replace(pat, np.nan, regex=True).isna().sum()

【讨论】:

    【解决方案2】:

    如果您想在特定列中计算 N/A:

    df["Col_name"].isna().sum()
    

    如果您想在完整数据框中计算 N/A:

    df.isna().sum().sum()
    

    【讨论】:

    • 这不能回答 OP 的问题
    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多