Python是否可以在csv文件中计算“ NaN”(作为字符串/文本)的数量?使用pandas'尝试过read_csv
,但是某些包含空白的列也被读为NaN。我知道的唯一可行的方法是使用excel查找'NaN'作为值。
有人知道其他方法吗?提前致谢!
您可以使用,pd.read_csv
但需要两个参数:na_values
和keep_default_na
。
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'`。
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] 删除。
我来说两句