数据集:
我正在尝试使用坐标Pickup_longitude和Pickup and latitude获取拾取位置。如果我单独调用该函数它可以工作。如果我和lambda一起打电话给pandas就行不通。
import requests
def fxy(x, y):
url="http://maps.googleapis.com/maps/api/geocode/json?latlng="+x+","+y+"&sensor=true"
print(url)
result=requests.get(url).json()
str=result['results'][0]['address_components'][3]['long_name']
print(str)
return str
#str1=fxy('40.69238281','-73.94309998')
#str1
locations=pd.read_csv("Data/locations.csv",sep=",")
locations['pickup_location'] = locations.apply(lambda x: fxy(str(x['Pickup_longitude']), str(x['Pickup_latitude'])))
错误:
---> 5 url =“http://maps.googleapis.com/maps/api/geocode/json?latlng=”+ x,y +“& sensor = true” 6打印(网址) 7 result = requests.get(“http://maps.googleapis.com/maps/api/geocode/json?latlng=”+ x +“,”+ y +“& sensor = true”)。json()
TypeError :(“ufunc'add'不包含带签名的循环 匹配类型dtype('
答案 0 :(得分:0)
将数据框列转换为String并且它可以工作。
locations ['pickup_location'] = locations.apply(lambda x:fxy(str(x ['Pickup_latitude']),str(x ['Pickup_longitude'])),axis = 1)