📜  具有列中位数的 pandas fillna - Python (1)

📅  最后修改于: 2023-12-03 15:07:06.109000             🧑  作者: Mango

具有列中位数的 pandas fillna - Python

在处理数据时,经常会遇到缺失值的情况。fillna() 是 pandas 提供的一个方法,可以用于对缺失值进行填充。在本文中,我们将讨论如何使用 fillna() 方法填充缺失值,并结合列的中位数进行处理。

填充缺失值

fillna() 方法可以接收多种参数,用于对缺失值进行填充。其中,最常用的是用一个固定值填充缺失值:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, None, 4],
                   'B': [5, None, 7, 8]})

df.fillna(0, inplace=True)

print(df)

上述代码中,我们创建了一个包含缺失值的 DataFrame,并使用 fillna() 方法将缺失值填充为 0。填充后的结果如下所示:

     A    B
0  1.0  5.0
1  2.0  0.0
2  0.0  7.0
3  4.0  8.0
使用列的中位数填充缺失值

除了使用固定值填充缺失值外,我们还可以使用列的中位数进行填充。下面是示例代码:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, None, 4],
                   'B': [5, None, 7, 8]})

medians = df.median()

df.fillna(medians, inplace=True)

print(df)

上述代码中,我们首先计算了每一列的中位数,并将中位数存储在一个 pandas Series 对象 medians 中。然后,我们将 medians 作为参数传递给 fillna() 方法,这样就可以使用列的中位数来填充缺失值了。填充后的结果如下所示:

     A    B
0  1.0  5.0
1  2.0  6.0
2  2.0  7.0
3  4.0  8.0
总结

在数据处理中,缺失值是一个常见的问题。fillna() 是 pandas 提供的一种方法,可以用于填充缺失值。我们可以使用一个固定值来填充缺失值,也可以使用列的中位数来进行填充。对于后者,我们需要首先计算每一列的中位数,并将中位数作为参数传递给 fillna() 方法。