Python 用NA替换pandas数据框中出现的所有值的快速方法

Python 用NA替换pandas数据框中出现的所有值的快速方法,python,pandas,Python,Pandas,我正在使用python脚本清理和连接大量大型.csv文件。具体来说,我正在使用pandas read_csv函数读取文件,然后将它们作为数据帧对象处理,这非常有效。这是我第一次使用pandas,所以我仍然习惯于它包含的所有非常有用的功能 我正在读取的csv文件使用-99.9作为指示NA/NaN的哨兵值。因为这与我在别处表示缺失数据的方式不同,所以我想将所有出现的-99.9改为“NaN”。是否有一种快速的内置方法来实现这一点,或者我必须迭代数据帧并检查每个值 在使用read_csv方法时可以做到这

我正在使用python脚本清理和连接大量大型.csv文件。具体来说,我正在使用pandas read_csv函数读取文件,然后将它们作为数据帧对象处理,这非常有效。这是我第一次使用pandas,所以我仍然习惯于它包含的所有非常有用的功能


我正在读取的csv文件使用-99.9作为指示NA/NaN的哨兵值。因为这与我在别处表示缺失数据的方式不同,所以我想将所有出现的-99.9改为“NaN”。是否有一种快速的内置方法来实现这一点,或者我必须迭代数据帧并检查每个值

在使用read_csv方法时可以做到这一点。只需添加参数

na_values=-99.9
作为read_csv方法的参数。检查完整的文档


我认为@Joop的反应更优雅。但是,如果您在读取CSV后发现某些其他值应替换为
NA/NaN
,则可以使用:

pandas_dataframe.replace(['bad_data_1', 'bad_data_2'], [None, None], inplace=True)
如果要创建单独的数据帧,请将inplace设置为
False

如果您在读取CSV时知道错误值,则修改@Joop的响应以包括以下列表:

train_df = pd.read_csv('/my.csv', na_values=["bad_value_1", "bad_value_2"])

这正是我想要的。谢谢我唯一需要做的更改是将-99.9作为一个字符串,并将其放入列表中(即[“-99.9]”)。