[英]Replace specific column values with another dataframe column value using Pandas
[英]Replace null values in a column corresponding to specific value in another column pandas
我有一个如下的数据框:
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']})
我想用其他区域的值替换 Region 中的NaN
值。 我的意思是,如果国家是美国或墨西哥,地区应该是美洲,如果国家是英国,地区应该是欧洲。
预期的输出是
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.