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

阅读 2896 收藏 0 点赞 0 评论 0

中位数将数据的上半部分与下半部分分开。使用该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

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号