I have a dataframe that looks like following:
Address Unit Zipcode
111 west street 1A 12312
132 east street NaN 13333
90 3rd avenue PH 22222
And I have a code to format this address using Google API:
data['input'] = data['Address'] + ', ' + data['Unit'] + ', NY, '+data['Zipcode'].map(str)
df = list(data['input'])
addList = []
formatted = ''
for index in range(len(data)):
try:
jsonData = requests.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + df[index] + '&key=D3fsldk3FJDISDKfjeisl')
jsonData = jsonData.content
jsonData = json.loads(jsonData)
data.loc[index,'formatted'] = jsonData['results'][0]['formatted']
except:
("No Address")
And When I run this I get:
Address Unit Zipcode input
111 west street 1A 12312 111 west street, 1A 12312
132 east street NaN 13333 NaN
90 3rd avenue PH 22222 90 3rd avenue, PH 22222
However, I don't get the second "123 east street 13333" because the Unit is a NULL value. My expected output would be:
Address Unit Zipcode input
111 west street 1A 12312 111 west street, 1A 12312
132 east street NaN 13333 132 east street, 13333
90 3rd avenue PH 22222 90 3rd avenue, PH 22222
I have tried to insert for loop, however, i have an error.
for idx, row in data.iterrows():
if data['Unit'].isna() == True:
data['input'] = data['Address'] + ', NY, '+ data['Zipcode'].map(str)
else:
data['input'] = data['Address'] + ', ' + data['Unit'] + ', NY, '+data['Zipcode'].map(str)
data['formatted'] = ''
df = list(data['input'])
addList = []
for index in range(len(data)):
try:
jsonData = requests.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + df[index] + '&key=D3fsldk3FJDISDKfjeisl')
jsonData = jsonData.content
jsonData = json.loads(jsonData)
data.loc[index,'formatted'] = jsonData['results'][0]['formatted']
except:
("No Address")
The error:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Any help will be appreciated..!