在csv中计算“ NaN”的数量(不是零或空白)

WLC

Python是否可以在csv文件中计算“ NaN”(作为字符串/文本)的数量?使用pandas'尝试过read_csv,但是某些包含空白的列也被读为NaN。我知道的唯一可行的方法是使用excel查找'NaN'作为值。

有人知道其他方法吗?提前致谢!

布拉德·所罗门

您可以使用,pd.read_csv但需要两个参数:na_valueskeep_default_na

  1. na_values

识别为NA / NaN的其他字符串。如果dict通过,则按列显示特定的NA值。默认情况下,以下值解释为NaN:'',``#N / A'',``#N / AN / A'',``#NA'',``-1。#IND'',``-1。#QNAN'', '-NaN','-nan','1.#IND','1.#QNAN','N / A','NA','NULL','NaN','nan'`。

  1. keep_default_na

如果指定了na_values并且keep_default_na为False,则默认的 NaN值将被覆盖,否则将附加它们。

因此,在您的情况下:

pd.read_csv('path/to/file.csv', na_values='NaN', keep_default_na=False)

如果您想变得更“自由”,那么您可能想要类似na_values=['nan', 'NaN']-重点是这些将被非常严格地解释。

一个示例-假设您拥有以下CSV文件,其中包含1个文字NaN和两个空格:

在此处输入图片说明

import pandas as pd
import numpy as np
df = pd.read_csv('input/sample.csv', na_values='NaN', keep_default_na=False)
print(np.count_nonzero(df.isnull().values))
# 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章