问题
我几乎逐字逐句地写了这段代码,并得到了这个错误。如果相关的话,数据表大约有1000行长。
我该如何解决这个问题?
代码
import folium
import numpy as np
import pandas as pd
df = pd.read_csv('Book1.csv')
lat = df.Latitude
lon = df.Longitude
name = df.Docking
m = folium.Map(location=[20, 0], tiles="Stamen Terrain", zoom_start=9)
locations = df[['Latitude', 'Longitude']]
locationlist = locations.values.tolist()
for i in range(0, len(df)):
folium.Marker(lon[i], lat[i], popup=df.Docking[i]).add_to(m)错误:
----> 2 folium.Marker(lon[i], lat[i], popup=df.Docking[i]).add_to(m)
TypeError: __init__() got multiple values for argument 'popup'编辑:回复后的建议分组Lat和Long属性,此错误显示:
---> 16 folium.Marker([lon[i], lat[i]], popup=df.Docking[i]).add_to(m)
TypeError: must be real number, not str发布于 2019-03-16 23:35:18
可能发生的情况是,经度/纬度被期望为包含2个元素的元组/列表,然后遵循popup,但您将提供2个元素,然后再提供popup
来自文档的示例
folium.Marker([45.3288, -121.6625], popup='<i>Mt. Hood Meadows</i>', 独立的例子:
def f(a,b,c=None):
pass
f(12,34,b=12)给予:
TypeError: f() got multiple values for argument 'b'因为b作为位置和关键字传递。
将lat/long分组在列表中可以修复您的代码:
folium.Marker([lon[i], lat[i]], popup=df.Docking[i]).add_to(m)https://stackoverflow.com/questions/55202473
复制相似问题