如何解压缩列表项的索引对

时间:2018-07-03 10:26:16

标签: pandas python-3.5 folium

我有一个csv文件,如下所示:

VOLCANX020,NUMBER,NAME,LOCATION,STATUS,ELEV,TYPE,TIMEFRAME,LAT,LON
509.000000000000000,1201-01=,Baker,US-Washington,Historical,3285.000000000000000,Stratovolcanoes,D3,48.7767982,-121.8109970
511.000000000000000,1201-02-,Glacier Peak,US-Washington,Tephrochronology,3213.000000000000000,Stratovolcano,D4,48.1118011,-121.1110001
513.000000000000000,1201-03-,Rainier,US-Washington,Dendrochronology,4392.000000000000000,Stratovolcano,D3,46.8698006,-121.7509995
515.000000000000000,1201-05-,St. Helens,US-Washington,Historical,2549.000000000000000,Stratovolcano,D1,46.1997986,-122.1809998

我想使用成对的LATLON列来将它们作为使用folium库创建地图的参数。

我可以使用pandas库将csv文件提取到变量中:

data = pandas.read_csv('Volcanoes_USA.txt')

并使用folium使用以下方法创建基本地图:

mymap = folium.Map(location=[12.96697, 77.58728], zoom_start=6)

现在使用data变量中加载的csv文件数据,我想使用所有这些坐标(LAT和LON对)值来更新地图。一种方法是在单独的变量中提取LAT和LON。

lat = list(data["LAT"])
lon = list(data["LON"])

有没有一种方法可以解压缩列表项,因此我可以使用单个变量coor来保存LATLON对,这样我就可以通过以下方式在for循环中使用它。

for coordinates in coor:
  fg.add_child(folium.Marker(location=coor, popup="This is a Marker", icon=folium.Icon(color='green')))

1 个答案:

答案 0 :(得分:2)

您可以使用zip。像这样:

map_1 = folium.Map(location=[45.372, -121.6972],
                   zoom_start=11,
                   tiles='Stamen Terrain')


lat = [45.3288,45.25,45.3311,]
lon = [-121.6625,-121.7113,-121.75]

for cords in zip(lat, lon):
    folium.Marker(cords).add_to(map_1)

map_1

产生此地图:

enter image description here