我无法将我拥有的经纬度坐标数据框转换为州平面投影。我尝试使用在另一篇文章中找到的代码,但它一直在抛出“AttributeError:'float' object has no attribute 'set_value'”。这是原始代码的链接,因此我可以正确地将其归功于:https ://stackoverflow.com/a/36871668/8754430
这是我的代码
import pyproj
import numpy as np
subways_loc = pd.read_csv('subways_loc.csv')
NAD83_LI = pyproj.Proj(init = "EPSG:32118")
NYS_LIZ = pyproj.Proj(init = "ESRI:102718")
def coord_transform(df):
x = pd.Series()
y = pd.Series()
for idx, val in enumerate(df['Latitude']):
x, y = pyproj.transform(NAD83_LI, NYS_LIZ, df['Longitude'][idx], df['Latitude'][idx])
x.set_value(idx, x)
y.set_value(idx, y)
df['x'] = x
df['y'] = y
return df
subways_loc_trans = coord_transform(subways_loc)
print(subways_loc_trans.head(1))
这是具体的错误:
AttributeError Traceback (most recent call last)
<ipython-input-103-a13e9199a9d5> in <module>()
11 print(x, y)
12
---> 13 subways_loc_trans = coord_transform(subways_loc)
14
15 print(subways_loc_trans.head(1))
<ipython-input-103-a13e9199a9d5> in coord_transform(df)
4 for idx, val in enumerate(df['Latitude']):
5 x, y = pyproj.transform(NAD83_LI, NYS_LIZ, df['Longitude'][idx], df['Latitude'][idx])
----> 6 x.set_value(idx, x)
7 y.set_value(idx, y)
8 df['x'] = x
AttributeError: 'float' object has no attribute 'set_value'
这是我在 github 上上传的文件https://github.com/amkaris/SB-Code/blob/master/subways_loc.csv的链接。
任何和所有的帮助表示赞赏!谢谢!