首页 > 解决方案 > 如何对多个数据框python使用条件if/else

问题描述

我一直在使用地理编码器尝试数据帧的经纬度。

我设法获得了不同城市的纬度/经度并将其保存到文件中。但是,尝试将数据映射到城市的其他数据时出现错误,因为我不知道该怎么做。

我的代码:

def func(a):
    if a in data2['CITY']:
        return data2['LATITUDE']
    else:
        return "0"

data["LATITUDE"] = data["CITY"].apply(lambda x: func(x))

标签: pythonpandasif-statement

解决方案


pandas中,如果检查某个元素是否在 apd.Series中,则需要先将其转换为数组形式:

'SCOTLAND' in data2['CITY'] -> False
'SCOTLAND' in data2['CITY'].values -> True

进行此修复后,您需要使其返回单个元素,而不是向量。所以,最后:

def func(a):
    if a in data2['CITY'].values:
        return data2.loc[data2['CITY'] == a, 'LATITUDE'].item()
    else:
        return "0"

推荐阅读