在数据处理中,常常会出现数据缺失的情况,例如采集数据时未能获取完整的数据、数据传输中遭受意外中断等。在pandas中,一般使用NaN
表示缺失数据。
isnull()
函数用于判断数据是否为缺失值,返回一个布尔型的结果。
示例:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df)
# Output:
# A B C
# 0 1.0 4.0 7
# 1 2.0 NaN 8
# 2 NaN NaN 9
print(df.isnull())
# Output:
# A B C
# 0 False False False
# 1 False True False
# 2 True True False
dropna()
函数用于删除含有缺失数据的行或列,可通过axis
参数指定删除的方向(行或列)。
示例:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df)
# Output:
# A B C
# 0 1.0 4.0 7
# 1 2.0 NaN 8
# 2 NaN NaN 9
print(df.dropna())
# Output:
# A B C
# 0 1.0 4.0 7
print(df.dropna(axis=1))
# Output:
# C
# 0 7
# 1 8
# 2 9
fillna()
函数用于填补数据表中的缺失值,其参数value
可指定用来填补缺失值的数据。如果不指定该参数,则默认为0。
示例:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df)
# Output:
# A B C
# 0 1.0 4.0 7
# 1 2.0 NaN 8
# 2 NaN NaN 9
print(df.fillna(0))
# Output:
# A B C
# 0 1.0 4.0 7
# 1 2.0 0.0 8
# 2 0.0 0.0 9
print(df.fillna(method='ffill')) # 使用前一行数据填充
# Output:
# A B C
# 0 1.0 4.0 7
# 1 2.0 4.0 8
# 2 2.0 4.0 9
以上就是pandas中常用的缺失数据处理函数。根据实际需求,我们可以选择不同的函数来满足数据处理的要求。在实际使用中,我们也需要注意选择合适的函数应对不同的数据处理场景。
本文链接:http://task.lmcjl.com/news/17239.html