Я новичок в фолиуме и столкнулся с AttributeError
при попытке добавить серию маркеров на карту folium
, перебирая панды df
, содержащие пары координат и имя местоположения для каждой пары, например.
location_name location
'foo' [40.736932, -73.997043]
'bar' [40.738859, -73.995058]
'xyz' [40.744085, -74.000394]
со следующим кодом:
center_map = [40.738859, -73.995058]
map_1 = folium.Map(location=center_map, tiles=None, zoom_start=12)
for i in df:
folium.Marker(i.location,
popup=i.location_name,
icon=folium.Icon(color='purple')
).add_to(map_1)
Однако я получаю следующую ошибку:
AttributeError: 'Series' object has no attribute 'get_name'
что, я думаю, вызвано файлами element.py
и generic.py
в folium
:
/Users/martin/anaconda/envs/py3k/lib/python3.5/site-packages/folium/element.py in add_children(self, child, name, index)
85 def add_children(self, child, name=None, index=None):
86 """Add a child."""
---> 87 return self.add_child(child, name=name, index=index)
88
89 def add_child(self, child, name=None, index=None):
/Users/martin/anaconda/envs/py3k/lib/python3.5/site-packages/folium/element.py in add_child(self, child, name, index)
90 """Add a child."""
91 if name is None:
---> 92 name = child.get_name()
93 if index is None:
94 self._children[name] = child
/Users/martin/anaconda/envs/py3k/lib/python3.5/site-packages/pandas/core/generic.py in __getattr__(self, name)
2667 if name in self._info_axis:
2668 return self[name]
-> 2669 return object.__getattribute__(self, name)
2670
2671 def __setattr__(self, name, value):
AttributeError: 'Series' object has no attribute 'get_name'
Ценим любую помощь в том, как обойти это!
for i in df:
и в следующей строке вы пытаетесь добавить полные столбцы вMarker
. Возможно, вы хотите что-то вродеfor row in df: folium.Marker(row['location'], popup=row['location_name'], ...)
? - person   schedule 07.06.2016TypeError: string indices must be integers
- person msoderstrom   schedule 07.06.2016