微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 计算csv中“NaN”(不是零或空格)的数量

是否可以让Python计算csv文件中’NaN'(作为字符串/文本)的数量?尝试使用pandas的read_csv,但是一些具有空白的列也被读作NaN.我所知道的唯一工作方法是使用excel查找’NaN’作为值.

谁知道其他方法?提前致谢!

解决方法:

您可以使用pd.read_csv但是您需要两个参数:na_values和keep_default_na.

> na_values:

Additional strings to recognize as NA/NaN. If dict passed, specific
per-column NA values. By default the following values are interpreted
as NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’,
‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘nan’`.

> keep_default_na:

If na_values are specified and keep_default_na is False the default
NaN values are overridden, otherwise they’re appended to.

所以在你的情况下:

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

如果你想要更“自由”,那么你可能想要像na_values = [‘nan’,’NaN’]这样的东西 – 关键是这些将被严格解释.

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

enter image description here

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] 举报,一经查实,本站将立刻删除。

相关推荐