📜  Python中 Pandas 的 read_csv()函数中使用 na_values 参数(1)

📅  最后修改于: 2023-12-03 15:34:21.529000             🧑  作者: Mango

Python 中 Pandas 的 read_csv() 函数中使用 na_values 参数

read_csv() 是 Pandas 中用于读取 CSV 文件并返回一个 DataFrame 对象的函数。在实际使用中,我们经常遇到 CSV 文件中存在空值的情况。在 Pandas 中,我们可以使用 na_values 参数来指定 CSV 文件中的哪些值被认为是空值。

语法

pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, na_values=None)

na_values 参数用于指定 CSV 文件中的哪些值被认为是空值。默认情况下,Pandas 认为 NaNNULLNAN/A、空格和空字符串都是空值。如果想要自定义空值的标识,可以使用 na_values 参数。

示例

假设我们有以下的一个 CSV 文件:

name,age,gender
John,25,M
Smith,,
Lucy,20,F

其中,第二行的 age 字段缺失了数据。我们可以将其视作空值,并将其读取出来时设置为 NaN。代码如下:

import pandas as pd

df = pd.read_csv('data.csv', na_values=[''])
print(df)

运行结果如下:

     name   age gender
0    John  25.0      M
1   Smith   NaN   None
2    Lucy  20.0      F

可以看到,第二行的 age 字段被设置为了 NaN

使用技巧
  • 如果 CSV 文件中的数据列都是数值型或日期型,可以使用 na_values=[''] 将空字符串转换成 NaN。因为在这种情况下,空字符串对计算和分析没有意义,转换成 NaN 能方便后续处理。
  • 如果 CSV 文件中的某个字段可能包含多个标识空值的符号,比如 NULL-,可以使用 na_values=['NULL', '-'] 来同时指定这两个符号均为缺失值。
总结

在 Pandas 中使用 read_csv() 函数时,通过设置 na_values 参数可以将 CSV 文件中的某些值视作空值。这个功能在数据清洗和分析中非常实用。