python - 在特定情况下如何填写缺失值?
问题描述
我有一个数据框,它有两列“Key_Skills”和“Job_Title”,(这两列都包含很少的缺失值)。现在,我想用填充了“Key_Skills”值的“Job_Title”列来估算“(Null)Key_Skills”值。
例如,在第 36 个索引的“Job_Title”列中,有一个“Accounts Manager”,其值为“Key Skills”。现在,我想——
- 首先,在整个数据框中将所有“客户经理”的“关键技能”赋予相同的值(关键技能)。
- 其次,我想参考第 1 点中的“职位”值完全填写“关键技能”列。每行 1 个。
解决方案
我不确定我是否完全理解,但如果我解释正确,下面的代码应该可以工作。下面的代码所做的是按职称分组,如果有任何 NaN 作为同一职称的技能集,它将填写它。如果您想专门为客户经理做这件事,请在 a 上使用 ffill 和 bfill仅包含客户经理的过滤数据集。你会翻转职位头衔和关键技能,以另一种方式做到这一点。
df['Key Skills'] = df.loc[~df['Job Title'].isna()].groupby('Job Title')['Key Skills'].transform(lambda x: x.fillna(method = 'ffill').fillna(method='bfill'))
推荐阅读
- python - 使用熊猫市场日历获取下一个交易日
- r - 使用 Have::labelled 动态创建值标签
- java - Flink SQL:使用 changelog 流更新动态表中的行
- excel - 通过 ParamArray 打开多个工作簿时将工作簿分配给数组
- php - Laravel 关系和数据透视表
- bootstrap-4 - 需要对齐按钮,以便它始终出现在使用引导程序 4 搜索下方的中心
- javascript - Vue ChartJS 没有更新
- postgresql - Postgresql - upsert 大表很慢
- python - TensorFlow 2.0:sparse_categorical_crossentropy 和 SparseCategoricalCrossentropy 有什么区别?
- swift - 将相同模型的不同实例传递给相同的 SwiftUI 视图结构