【发布时间】:2020-02-05 16:32:22
【问题描述】:
我想用我的数据框的中位数来估算一些空白值,如下所示:
ID Salary Position
1 10 VP
2 VP
3 5 VP
4 15 AVP
5 20 AVP
6 AVP
现在必须用职位级别 Median 替换空白工资。例如:ID = 2 的空白工资和作为 VP 的职位应按职位 VP 的中位数 5 进行估算,而 AVP 的相同空白应以类似的方式估算。
我使用了以下代码,但这是在位置级别采用完整的中位数,而不是特定的中位数:
impute_median=df['Salary'].median()
df['Salary']=df['Salary'].fillna(impute_median)
输出应该是这样的:
ID Salary Position
1 10 VP
2 5 VP
3 5 VP
4 15 AVP
5 20 AVP
6 15 AVP
【问题讨论】:
-
为什么是 5 而不是 7.5 或 10?
-
@ansev:你是对的。我添加数字 5 只是为了表示考虑,因为 0 为空白,所以 0、5、10 的中位数为 5。
标签: python-3.x pandas pandas-groupby missing-data