运行含Nominatim、pvlib的Python脚本触发ufunc 'add'类型匹配报错
报错原因
- Nominatim接口返回的
loc_raw字典中,lat、lon两个字段的原始类型为字符串,你直接将字符串类型的经纬度传入后续pvlib相关方法时,内部numpy运算需要对数值执行加法计算,无法匹配字符串类型的运算规则,因此触发该类型不匹配报错。 - 你可以执行
print(type(latitude), type(longitude))自行验证字段类型,返回结果为<class 'str'>即可确认该问题。
修复方法
仅需在提取经纬度时强制转换为浮点型即可,修改对应代码行:
latitude = float(loc_raw['lat']) longitude = float(loc_raw['lon'])
修改后重新运行脚本即可正常执行。
内容的提问来源于stack exchange,提问作者Arijit Goswami
相关产品推荐
相关产品推荐

