下面我为你介绍一篇详细讲解“对PandasDataFrame缺失值的查找与填充示例讲解”的攻略。本攻略将从以下几个方面进行讲解:
- 缺失值的定义及常见原因;
- 查找缺失值的方法;
- 填充缺失值的方法。
1. 缺失值的定义及常见原因
缺失值是指缺少特定数据的现象。在数据处理中,由于数据输入、处理出错或某些数据不可用等原因,会出现缺失值。常见的原因包括:
- 数据采集或传输错误;
- 隐私问题,数据不允许公开;
- 抽样调查中无法确定全部样本;
- 实验和观察中某些数据无法测量。
2. 查找缺失值的方法
Pandas提供了多种查找缺失值的方法,包括:
isna()
方法:用于查找DataFrame中的缺失值,返回一个布尔型DataFrame,标记数据是否为缺失值;notna()
方法:用于查找DataFrame中的非缺失值,返回一个布尔型DataFrame,标记数据是否为非缺失值;dropna()
方法:用于删除缺失值所在的行或列;fillna()
方法:用于填充DataFrame中的缺失值。
下面是一些示例说明:
示例1
import pandas as pd
import numpy as np
# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, np.nan],
'C': [8, 9, 10, 11]})
# 使用isna()方法查找缺失值
print(df.isna())
输出结果如下:
A B C
0 False False False
1 False True False
2 True False False
3 False True False
示例说明:使用isna()
方法查找DataFrame中的缺失值,返回一个布尔型DataFrame,标记数据是否为缺失值。输出的结果中,缺失值被标记为True,非缺失值被标记为False。
示例2
import pandas as pd
import numpy as np
# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, np.nan],
'C': [8, 9, 10, 11]})
# 使用dropna()方法删除缺失值所在的行
df.dropna(axis=0, inplace=True)
print(df)
输出结果如下:
A B C
0 1.0 5.0 8
2 NaN 7.0 10
示例说明:使用dropna()
方法删除DataFrame中缺失值所在的行或列。本示例中将缺失值所在的行删除,并用inplace=True
将修改直接应用到原DataFrame中。
3. 填充缺失值的方法
除了删除缺失值外,还可以使用fillna()
方法填充DataFrame中的缺失值。fillna()
方法有多种填充方式,比如使用一个指定的数值或某列的平均值、中位数等。
示例3
import pandas as pd
import numpy as np
# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, np.nan],
'C': [8, 9, 10, 11]})
# 使用fillna()方法将缺失值填充为0
df.fillna(0, inplace=True)
print(df)
输出结果如下:
A B C
0 1.0 5.0 8
1 2.0 0.0 9
2 0.0 7.0 10
3 4.0 0.0 11
示例说明:使用fillna()
方法将DataFrame中的缺失值填充为指定的数值0,结果返回一个新的DataFrame对象。用inplace=True
将修改直接应用到原DataFrame中。
示例4
import pandas as pd
import numpy as np
# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
'B': [5, np.nan, 7, np.nan],
'C': [8, 9, 10, 11]})
# 使用fillna()方法将缺失值填充为B列的平均值
df.fillna(df['B'].mean(), inplace=True)
print(df)
输出结果如下:
A B C
0 1.0 5.0 8
1 2.0 6.0 9
2 6.0 7.0 10
3 4.0 6.0 11
示例说明:使用fillna()
方法将DataFrame中的缺失值填充为B列的平均值,结果返回一个新的DataFrame对象。用inplace=True
将修改直接应用到原DataFrame中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:对Pandas DataFrame缺失值的查找与填充示例讲解 - Python技术站