【pandas使用技巧】pandas中空值的处理方法

在pandas中,可以使用fillna()方法对DataFrame中的空值进行处理。fillna()方法可以接受一个参数,用于指定如何填充空值。以下是一些常用的填充方式:

  • 使用固定值填充:fillna(value)
  • 使用前一个非空值填充:fillna(method=‘ffill’)
  • 使用后一个非空值填充:fillna(method=‘bfill’)
  • 使用平均值填充:fillna(df.mean())
  • 使用中位数填充:fillna(df.median())

以下是一个示例代码,演示如何使用fillna()方法对DataFrame中的空值进行处理:

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({'name': ['Tom', 'Jerry', None, 'Mike', 'Tom', 'Jerry'],
                   'score': [80, 90, 85, None, 70, 95]})

# 使用固定值填充空值
df1 = df.fillna(value='Unknown')
print(df1)

# 使用前一个非空值填充空值
df2 = df.fillna(method='ffill')
print(df2)

# 使用后一个非空值填充空值
df3 = df.fillna(method='bfill')
print(df3)

# 使用平均值填充空值
df4 = df.fillna(df.mean())
print(df4)

# 使用中位数填充空值
df5 = df.fillna(df.median())
print(df5)

输出结果为:

    name  score
0    Tom   80.0
1  Jerry   90.0
2    NaN   85.0
3   Mike    NaN
4    Tom   70.0
5  Jerry   95.0

    name  score
0    Tom   80.0
1  Jerry   90.0
2  Jerry   85.0
3   Mike   85.0
4    Tom   70.0
5  Jerry   95.0

    name  score
0    Tom   80.0
1  Jerry   90.0
2   Mike   85.0
3   Mike   70.0
4    Tom   70.0
5  Jerry   95.0

    name  score
0    Tom   80.0
1  Jerry   90.0
2    NaN   85.0
3   Mike   82.5
4    Tom   70.0
5  Jerry   95.0

    name  score
0    Tom   80.0
1  Jerry   90.0
2    NaN   85.0
3   Mike   85.0
4    Tom   70.0
5  Jerry   95.0

在代码中,使用fillna()方法对DataFrame中的空值进行处理,填充方式可以根据实际情况选择。最终输出处理后的DataFrame即可。

你可能感兴趣的:(pandas,数据分析,pandas)