Python Pandas - 用中位数填充缺失的列值

中位数将数据的上半部分与下半部分分开。使用该fillna()方法并设置中位数以使用中位数填充缺失的列。首先,让我们使用各自的别名导入所需的库 -

import pandas as pd

import numpy as np

创建一个包含 2 列的 DataFrame。我们已经使用 Numpy np.NaN设置了 NaN 值-

dataFrame = pd.DataFrame(

   {

      "Car": ['Lexus', 'BMW', 'Audi', 'Bentley', 'Mustang', 'Tesla'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]

   }

)

使用 NaN 查找列值的中位数,即此处的 Units 列。使用median()单位列将 NaN 替换为其所在列的中位数-

dataFrame.fillna(dataFrame['Units'].median(), inplace = True)

示例

以下是代码 -

import pandas as pd

import numpy as np

# 创建数据帧

dataFrame = pd.DataFrame(

   {

      "Car": ['Lexus', 'BMW', 'Audi', 'Bentley', 'Mustang', 'Tesla'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]

   }

)

print"DataFrame ...\n",dataFrame

# 使用 NaN 查找列值的中位数,即此处的 Units 列

# 用它所在列的中位数替换 NaNs

dataFrame.fillna(dataFrame['Units'].median(), inplace = True)

print"\nUpdated Dataframe after filling NaN values with median...\n",dataFrame

输出结果

这将产生以下输出 -

DataFrame ...

       Car   Units

0    Lexus   100.0

1      BMW   150.0

2     Audi     NaN

3  Bentley    80.0

4  Mustang     NaN

5    Tesla     NaN

Updated Dataframe after filling NaN values with median...

       Car   Units

0    Lexus   100.0

1      BMW   150.0

2     Audi   100.0

3  Bentley    80.0

4  Mustang   100.0

5    Tesla   100.0

以上是 Python Pandas - 用中位数填充缺失的列值 的全部内容, 来源链接: utcz.com/z/362300.html

回到顶部