python - 如何对多个数据框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))
解决方案
在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"
推荐阅读
- javascript - CSS + jQuery:在容器内缩放、居中和旋转图像
- excel - 寻找宏以在打开的工作簿的特定工作表中打开 .csv 文件
- java - 从终端执行的命令,使用 ProcessBuilder 从 Java 失败
- angular - ChartJS 折线图 - Angular 6 中时间序列无序连接的点
- css - 无法在 Angular 4 中添加 Sass
- ionic-framework - Ionic v3 One Signal 通知 - 如何打开/关闭通知
- javascript - 使用画布在父矩形上绘制随机矩形,就像在图像中一样
- angular - 我无法更新/创建 package-lock.json
- java - 如何知道从另一个框架中选择了哪一行?
- c++ - SSL_get_ex_new_index、SSL_CTX_get_ex_data、SSL_CTX_set_ex_data 返回错误值