编程新手,如果我说错了,请原谅我。我目前正在做一个小项目,该项目使用 folium 将火山绘制到地图上。我使用的数据集可以在这里找到:https ://www.ngdc.noaa.gov/nndc/struts/form?t=102557&s=50&d=50我已将其保存为 CSV 文件以读入我的程序。
当我运行我的程序时,我收到以下错误:
...line 31, in <module>
folium.Marker(location=[lat, lon], popup=name, icon=folium.Icon(color=colour(elev), icon='cloud')).add_to(map)...
ValueError: Location values cannot contain NaNs, got:
[nan, nan]
我是否认为这是因为程序没有将 [lat, lon] 值作为第 31 行的数字读取?我最初在第 16 行也遇到了这个错误,但是我已经将 [lat, lon] 更改为 [latmean, lonmean] 这似乎已经纠正了问题,尽管这表明程序正在读取数字以应用平均值首先给他们。无论哪种方式,我都对导致问题的原因感到困惑。任何帮助将非常感激!
我的代码如下:
import pandas as pd
import folium
df = pd.read_csv('data.csv')
latmean = df['Latitude'].mean()
lonmean = df['Longitude'].mean()
map = folium.Map(location=[latmean, lonmean], zoom_start=7, tiles='Stamen
Terrain')
def colour(elev):
if elev in range (0, 1000):
col = 'blue'
elif elev in range (1001, 1999):
col = 'green'
elif elev in range (2000, 2999):
col = 'orange'
else:
col = 'red'
return col
for lat, lon, name, elev in zip(df['Latitude'], df['Longitude'], df['Name'],
df['Elevation']):
folium.Marker(location=[lat, lon], popup=name, icon=folium.Icon(color=colour(elev), icon='cloud')).add_to(map)
print(map.save('test.html'))