Pandas 读取 csv 替换 #DIV/0!和#VALUE!与南

Pandas read csv replacing #DIV/0! and #VALUE! with NaN

我是 Pandas Python 的新手,正在忙着阅读 csv 文件。不幸的是,Excel 文件中有一些单元格带有#VALUE!和#DIV/0!在他们中。我无法在 Excel 中修复此问题,因为数据是从其他工作表中提取的。 Pandas 将这些列变成 objects 而不是 numpy64,所以我无法从中绘制。我想替换#VALUE!和#DIV/0! Pandas 中带有 NaN 条目的字符串,但是我找不到如何执行此操作。我尝试了以下方法(我的代码运行了,但没有任何改变):

import pandas as pd
import numpy as np
df = pd.read_csv('2013AllData.csv')
df.replace('#DIV/0!', np.nan)

与其在加载后进行替换,不如在读取 csv 时设置参数 na_values,它会在创建 df 时将它们转换为 NaN 值:

df = pd.read_csv('2013AllData.csv', na_values=['#VALUE!', '#DIV/0!'])

查看文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv