Python 如果满足两个条件,我可以替换数据帧中单元格的空值吗?
我们到了 大家好, 我正在尝试编写一个循环,其中: 如果特定列中某个单元格的值为“无”,而下一个单元格的值等于一个国家数组,则我将“无”值更改为下一个单元格的值,即国家名称 我想我解决这个问题有点力不从心Python 如果满足两个条件,我可以替换数据帧中单元格的空值吗?,python,pandas,dataframe,nonetype,Python,Pandas,Dataframe,Nonetype,我们到了 大家好, 我正在尝试编写一个循环,其中: 如果特定列中某个单元格的值为“无”,而下一个单元格的值等于一个国家数组,则我将“无”值更改为下一个单元格的值,即国家名称 我想我解决这个问题有点力不从心 country_with_province = array(['Australia', 'China', 'France'], dtype=object) for m in country_with_province: if df5.loc[(df5['Province/State'
country_with_province = array(['Australia', 'China', 'France'], dtype=object)
for m in country_with_province:
if df5.loc[(df5['Province/State'] == None) and (df5['Country/Region'] == m):
df5.loc[:, "Province"] = df5.Province.fillna(m)
输入:
日期
省/州
国家/地区
恢复
省
0
22/01/2020
没有一个
阿富汗
0
没有一个
1.
22/01/2020
没有一个
阿尔巴尼亚
0
没有一个
2.
22/01/2020
塔斯马尼亚
澳大利亚
0
塔斯马尼亚
3.
22/01/2020
没有一个
澳大利亚
0
没有一个
4.
22/01/2020
河南
中国
0
河南
5.
22/01/2020
甘肃省
中国
0
甘肃省
6.
22/01/2020
没有一个
中国
0
没有一个
7.
22/01/2020
几内亚法语
法国
0
几内亚法语
8.
22/01/2020
没有一个
法国
0
没有一个
看来你的方法很好,所以。。。但是你想要更好的
sel = df5['Province/State'].isnull() & df5['Country/Region'].isin(country_with_province)
df5.loc[sel, "Province"] = df5.loc[sel, 'Country/Region']
好的观点;有时候是这样@安瑟夫-我想是吧?字面上看
pd.isnull是pd.isna
是True
。