在python pandas中读取csv并处理坏值

时间:2012-03-29 14:42:43

标签: python numpy pandas

我正在使用pandas来读取csv文件。数据是数字,但作为文本存储在csv文件中。当一些值不好或缺失时,它们是非数字的。如何过滤掉这些值并将剩余数据转换为整数。

我假设有一种更好/更快的方法,而不是循环遍历所有值,并使用isdigit()来测试它们是否为数字。

pandas或numpy有没有办法识别读者中的错误值?如果没有,最简单的方法是什么?我是否必须具体使用dtypes才能使其正常工作?

3 个答案:

答案 0 :(得分:3)

您可以使用pandas.read_csv传递要视为缺失的自定义值列表。或者,您可以将函数传递给converters参数。

答案 1 :(得分:3)

pandas.read_csv的参数为na_values

na_values : list-like, default None
    List of additional strings to recognize as NA/NaN

您可以在其中定义这些错误值。

答案 2 :(得分:1)

NumPy专门为此目的提供了函数genfromtxt()。链接文档中的第一句话:

  

从文本文件加载数据,并按指定处理缺失值。