熊猫读取csv取代#DIV / 0!和#VALUE!与NaN

时间:2015-01-20 10:42:25

标签: python excel csv replace pandas

我是Pandas for 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)

1 个答案:

答案 0 :(得分:5)

不是在加载后替换,而是在读取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