python - 替换与另一列熊猫中的特定值相对应的列中的空值
问题描述
我有一个数据框如下:
import pandas as pd
df = pd.DataFrame({'Country': ['USA','USA','MEX','IND','UK','UK','UK'],
'Region': ['Americas','NaN','NaN','Asia','Europe','NaN','NaN'],
'Flower': ['Rose','Lily','Lily','Orchid','Petunia','Lotus','Dandelion']})
我想将NaN
Region 中的值替换为其他区域的值。我的意思是,如果该国家/地区是美国或墨西哥,则该地区应该是美洲,如果该国家/地区是英国,则该地区应该是欧洲。
预期的输出是
result = pd.DataFrame({'Country': ['USA','USA','MEX','IND','UK','UK','UK'],
'Region': ['Americas','Americas','Americas','Asia','Europe','Europe','Europe'],
'Flower': ['Rose','Lily','Lily','Orchid','Petunia','Lotus','Dandelion']})
我想知道一种简单的方法,而不必编写 if else 语句。
解决方案
如果 ffill 不是一个选项,您可以尝试下面的代码,
df['Region'] = np.select((df.Country.isin(['USA', 'MEX']), df.Country == 'UK'),
('Americas', 'Europe'), df.Region)
推荐阅读
- html - 如何修复我的 div 位移对齐?
- javascript - 无法读取 null 的属性“insertAdjacentHTML”
- jquery - Laravel - 在 AJAX 响应中返回 2 个视图
- pandas - 如果 pandas 包含我要替换的字符串的一部分,我该如何更改它的列值?
- python - 如何模拟一个类并为每组构造函数参数提供一个唯一的对象?
- javascript - 在鼠标移开之前使元素不与其他元素一起移动
- nlp - 从单词序列中提取句子并添加标点符号
- python - 在 DatetimeIndex 上使用 .loc 检索特定日期的值 (KeyError
- python - 如何使用 selenium python 定位按钮
- javascript - 如何在 Vue.js 中提醒每个 div 的 id