我正在尝试将encode函数应用于数据帧。我总是遇到一个价值错误:
>>> import pandas as pd
>>> import pygeohash as gh
>>> data = { 'latitude': [4.123, 24.345, 31.654], 'longitude': [25.432, 4.234, 57.098]}
>>> df = pd.DataFrame(data)
>>> df
latitude longitude
0 4.123 25.432
1 24.345 4.234
2 31.654 57.098
>>> df['geohash']=df.apply(lambda x: gh.encode(df.latitude, df.longitude, precision=5), axis=1)
Traceback (most recent call last):
.........
ValueError: ('The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().', 'occurred at index 0')
>>>
输入一对值:
>>> gh.encode(22,36, precision = 5)
'sgct5'
显示gh.encode正在工作。
还有别的办法吗?
您应该在apply语句中使用
x
,而不是df
的值:这将产生:
相关问题 更多 >
编程相关推荐