我正在使用熊猫来读取csv文件。数据是数字,但以文本形式存储在csv文件中。某些值在不良或缺失时为非数字值。如何过滤这些值并将其余数据转换为整数。在python熊猫中读取csv并处理不良值
我假设有一个更好/更快的方式比循环所有的值和使用isdigit()
来测试它们是数字。
熊猫或者numpy是否有一种方式来识别读者的不良值?如果不是,那么最简单的方法是什么?我必须指定dtypes来完成这项工作吗?
我正在使用熊猫来读取csv文件。数据是数字,但以文本形式存储在csv文件中。某些值在不良或缺失时为非数字值。如何过滤这些值并将其余数据转换为整数。在python熊猫中读取csv并处理不良值
我假设有一个更好/更快的方式比循环所有的值和使用isdigit()
来测试它们是数字。
熊猫或者numpy是否有一种方式来识别读者的不良值?如果不是,那么最简单的方法是什么?我必须指定dtypes来完成这项工作吗?
pandas.read_csv
有参数na_values
:
na_values : list-like, default None
List of additional strings to recognize as NA/NaN
在这里你可以定义这些错误值。
NumPy专门为此提供了功能genfromtxt()
。从链接文件的第一句话:从文本文件
加载数据,以作为指定的方式处理缺失值。
好的,谢谢。我认为熊猫应该是更高层次的附加组件。我期待着这个功能。那么只需使用它并将其转换为数据框? – Dave31415 2012-03-29 14:57:43
@ Dave31415:我不知道你的数据究竟是怎样的,但这是我首先尝试的方法。 – 2012-03-29 14:59:51
如果'pandas.read_csv'没有做你需要的,请在GitHub上创建一个问题:http://github.com/pydata/pandas/issues – 2012-03-30 00:23:12
您可以使用pandas.read_csv
传递值的自定义列表,将其视为缺失。或者,您可以将函数传递给converters
参数。
太好了。这似乎是我正在寻找的。 – Dave31415 2012-03-30 13:35:47
如果字符串是列相关的,有没有办法使用na_values?例如,我有一些负值不好的列,但是其他的地方他们很好。 – Shawn 2017-03-23 19:45:03
不是@Shawn。理想情况下,您无法对每列的na_values执行不同的操作。在数据预处理/清洗时应该处理负值 – JKC 2017-12-13 07:06:07