文章目录
当使用pandas读取csv文件时,如果元素为空,则将其视为缺失值NaN(Not a Number, 非数字)。
使用dropna()方法删除缺失值,使用fillna()方法用其他值替换(填充)缺失值。
如果要提取包含缺失值的行或列,使用isnull()方法确定元素是否缺失。
1. 检查缺失值NaN
例如,读取并使用包含带read_csv的空格的csv文件。
import pandas as pd
import numpy as np
import math
df = pd.read_csv('./data/05/sample_pandas_normal_nan.csv')
print(df)
# name age state point other
# 0 Alice 24.0 NY NaN NaN
# 1 NaN NaN NaN NaN NaN
# 2 Charlie NaN CA NaN NaN
# 3 Dave 68.0 TX 70.0 NaN
# 4 Ellen NaN CA 88.0 NaN
# 5 Frank 30.0 NaN NaN NaN
使用pandas.isnull() 检查所有缺失的值:
print(df.isnull())
# 或者
print(pd.isnull(df))
# name age state point other
# 0 False False False True True
# 1 True True True True True
# 2 False True False True True
# 3 False False False False True
# 4 False True False False True
# 5 False False True True True
检查 ‘name’ 列缺失的值:
print(df['name'].isnull())
# 0 False
# 1 True
# 2 False
# 3 False
# 4 False
# 5 False
Name: name, dtype: bool
也可以使用numpy.isnan() 和math.isnan() (但是需要分别导入NumPy和math):
print(pd.isnull(df.at[0, 'point']))
print(np.isnan(df.at[0, 'point']))
print(math.isnan(df.at[0, 'point']))
# True
# True
# True
2. Pandas中NaN的类型
在Pandas中,将None,np.nan,math.nan和pd.np.nan视为缺失值NaN
s_nan = pd.Series([None, np.nan, math.nan, pd.np.nan])
print(s_nan)
# 0 NaN

本文详细介绍了如何使用Pandas处理CSV文件中的缺失值(NaN),包括检查缺失值、删除含有缺失值的行列、用通用值或特定值填充缺失值,以及利用平均值、中位数等进行替换。掌握这些技巧有助于提升数据清洗的效率。
6624

被折叠的 条评论
为什么被折叠?



