我正在使用pandas来读取csv文件。数据是数字,但作为文本存储在csv文件中。当一些值不好或缺失时,它们是非数字的。如何过滤掉这些值并将剩余数据转换为整数。
我假设有一种更好/更快的方法,而不是循环遍历所有值,并使用isdigit()
来测试它们是否为数字。
pandas或numpy有没有办法识别读者中的错误值?如果没有,最简单的方法是什么?我是否必须具体使用dtypes才能使其正常工作?
答案 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()
。链接文档中的第一句话:
从文本文件加载数据,并按指定处理缺失值。