pandas fillna用法

pandas fillna用法

pandas fillna用法

在数据分析中,经常会遇到缺失值的情况。缺失值对于数据分析和建模过程来说是一个普遍的问题,需要在处理数据之前做一些预处理工作。pandas中的fillna()函数可以帮助我们填充缺失值,让数据更加完整,从而更好地进行分析和建模。

fillna函数的基本用法

fillna()函数的基本语法为:

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

参数说明:

  • value:要填充缺失值的具体数值,可以是标量、字典、Series或DataFrame
  • method:填充缺失值的方法,如ffill(用前一个值填充)、bfill(用后一个值填充)
  • axis:填充的方向,0为行,1为列
  • inplace:是否在原数据上修改
  • limit:每个索引填充的次数
  • downcast:用于指定要尽量转换的数据类型

下面通过示例来演示fillna()函数的基本用法:

import pandas as pd
import numpy as np

data = {
    'A': [1, 2, np.nan, 4, 5],
    'B': [np.nan, 2, 3, np.nan, 5],
    'C': [1, 2, 3, 4, 5]
}

df = pd.DataFrame(data)
print("原始数据:")
print(df)

# 使用指定值填充缺失值
df_filled = df.fillna(value=0)
print("\n指定值填充缺失值后的数据:")
print(df_filled)

# 使用前一个值填充缺失值
df_ffilled = df.fillna(method='ffill')
print("\n用前一个值填充缺失值后的数据:")
print(df_ffilled)

# 使用后一个值填充缺失值
df_bfilled = df.fillna(method='bfill')
print("\n用后一个值填充缺失值后的数据:")
print(df_bfilled)

输出如下:

原始数据:
     A    B  C
0  1.0  NaN  1
1  2.0  2.0  2
2  NaN  3.0  3
3  4.0  NaN  4
4  5.0  5.0  5

指定值填充缺失值后的数据:
     A    B  C
0  1.0  0.0  1
1  2.0  2.0  2
2  0.0  3.0  3
3  4.0  0.0  4
4  5.0  5.0  5

用前一个值填充缺失值后的数据:
     A    B  C
0  1.0  NaN  1
1  2.0  2.0  2
2  2.0  3.0  3
3  4.0  3.0  4
4  5.0  5.0  5

用后一个值填充缺失值后的数据:
     A    B  C
0  1.0  2.0  1
1  2.0  2.0  2
2  4.0  3.0  3
3  4.0  5.0  4
4  5.0  5.0  5

高级用法

除了基本用法外,fillna()函数还支持一些高级用法,如在指定列上进行缺失值填充、根据条件进行填充等。下面通过示例来演示这些高级用法:

# 在指定列上填充缺失值
df_column_filled = df.fillna(value={'A': 0, 'B': 1})
print("\n在指定列上填充缺失值后的数据:")
print(df_column_filled)

# 根据条件填充缺失值
df_condition_filled = df.fillna(value={'A': df['A'].mean(), 'B': df['B'].median()})
print("\n根据条件填充缺失值后的数据:")
print(df_condition_filled)

输出如下:

在指定列上填充缺失值后的数据:
     A    B  C
0  1.0  1.0  1
1  2.0  2.0  2
2  0.0  3.0  3
3  4.0  1.0  4
4  5.0  5.0  5

根据条件填充缺失值后的数据:
     A    B  C
0  1.0  3.0  1
1  2.0  2.0  2
2  3.0  3.0  3
3  4.0  3.0  4
4  5.0  5.0  5

总结

通过本文的介绍,我们了解了pandas中fillna()函数的基本用法和高级用法。这个函数在处理数据分析中的缺失值时非常实用,能够帮助我们更好地预处理数据,提高数据的完整性和可靠性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程