Python数据处理中的fillna函数
1. 简介
fillna函数是Python pandas库中的一个重要函数,用于填充数据中的缺失值。当我们在进行数据分析和建模时,经常会遇到数据中有缺失值的情况,fillna函数可以帮助我们处理这些缺失值,使得数据分析和建模过程更加准确和可靠。
2. 使用方法
fillna函数可以接收一个参数,用于指定要填充的值。常见的值填充方式有以下几种:
2.1 填充为指定的常数值
可以通过指定一个常数值来填充缺失值。示例如下:
import pandas as pd
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [None, None, None, None, None]}
df = pd.DataFrame(data)
df_filled = df.fillna(0)
print(df_filled)
输出如下:
A B C
0 1.0 0.0 0.0
1 2.0 2.0 0.0
2 0.0 3.0 0.0
3 4.0 4.0 0.0
4 5.0 0.0 0.0
2.2 填充为指定列的平均值
可以通过指定一个列名,将缺失值填充为该列的平均值。示例如下:
import pandas as pd
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [None, None, None, None, None]}
df = pd.DataFrame(data)
df_filled = df.fillna(df.mean())
print(df_filled)
输出如下:
A B C
0 1.0 3.0 NaN
1 2.0 2.0 NaN
2 3.0 3.0 NaN
3 4.0 4.0 NaN
4 5.0 3.0 NaN
2.3 填充为指定列的中位数
可以通过指定一个列名,将缺失值填充为该列的中位数。示例如下:
import pandas as pd
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [None, None, None, None, None]}
df = pd.DataFrame(data)
df_filled = df.fillna(df.median())
print(df_filled)
输出如下:
A B C
0 1.0 3.0 NaN
1 2.0 2.0 NaN
2 3.0 3.0 NaN
3 4.0 4.0 NaN
4 5.0 3.0 NaN
2.4 向前/向后填充
可以通过指定method
参数为ffill
或bfill
来进行向前或向后填充。示例如下:
import pandas as pd
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [None, None, None, None, None]}
df = pd.DataFrame(data)
df_filled = df.fillna(method='ffill')
print(df_filled)
输出如下:
A B C
0 1.0 NaN NaN
1 2.0 2.0 NaN
2 2.0 3.0 NaN
3 4.0 4.0 NaN
4 5.0 4.0 NaN
import pandas as pd
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [None, None, None, None, None]}
df = pd.DataFrame(data)
df_filled = df.fillna(method='bfill')
print(df_filled)
输出如下:
A B C
0 1.0 2.0 NaN
1 2.0 2.0 NaN
2 4.0 3.0 NaN
3 4.0 4.0 NaN
4 5.0 NaN NaN
3. 总结
fillna函数是Python pandas库中一个常用的数据处理函数,可以用于填充数据中的缺失值。本文介绍了fillna函数的几种常见用法,通过示例代码展示了每种用法的具体实现,并给出了每个示例代码的运行结果。使用fillna函数可以简化缺失值处理的过程,提高数据分析和建模的准确性和可靠性。