Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果满足两个条件,我可以替换数据帧中单元格的空值吗?_Python_Pandas_Dataframe_Nonetype - Fatal编程技术网

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