【问题标题】:ValueError: Location values cannot contain NaNs, got: [nan, nan]ValueError:位置值不能包含 NaN,得到:[nan,nan]
【发布时间】:2018-02-05 11:15:05
【问题描述】:
import folium
import pandas

data= pandas.read_csv("maps.txt")

lat = list(data["latitude"])
lon = list(data["longitude"])

map= folium.Map(location=[31.5204, 74.3587], zoom_start=6, tiles="Mapbox Bright")

fg = folium.FeatureGroup(name="My Map")

for lt, ln in zip(lat, lon):
    c1 = fg.add_child(folium.Marker(location=[lt, ln], popup="Hi i am a Country",icon=folium.Icon(color='green')))

child = fg.add_child(folium.Marker(location=[31.5204, 74.5387], popup="Welcome to Lahore", icon= folium.Icon(color='green')))

map.add_child(fg)
回溯(最近一次通话最后): 文件“C:\Users\Ryan\AppData\Local\Programs\Python\Python36-32\check2.py”,第 14 行,在 c1 = fg.add_child(folium.Marker(location=[lt, ln], popup="你好我是一个国家",icon=folium.Icon(color='green'))) 文件“C:\Users\Ryan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\folium\map.py”,第 647 行,在 __init__ self.location = _validate_coordinates(位置) _validate_coordinates 中的文件“C:\Users\Ryan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\folium\utilities.py”,第 48 行 '得到:\n{!r}'.format(坐标)) ValueError:位置值不能包含 NaN,得到: [楠,楠]
map.save("Lahore.html")

实际上我正在使用 txt 文件(逗号分隔)制作地图的标记,它成功打开,但我希望所有这些国家/地区的地址都成为标记,当我尝试时它只是给出了这个错误。

【问题讨论】:

  • 提供一些细节,比如你想要做什么?
  • 其实我在制作地图,所有细节都在文本文件中(逗号分隔)
  • 当我尝试将 csv 中的所有信息以标记的形式写入地图时,发生了此错误
  • 编辑您的问题以添加详细信息。
  • 刚刚做了,对不起,我是新来的。所以,知道的不多……

标签: python python-3.x python-2.7 python-requests


【解决方案1】:

您的数据集中某处有 NA。在绘图之前删除这些行:

data=data.dropna(subset=['longitude'])

data=data.dropna(subset=['latitude'])

这将删除坏行。您还可以在绘图循环中放置一个打印语句,以识别导致问题的列表元素,然后去修复它:

print(lt, ln)

【讨论】:

    【解决方案2】:

    试试data[data.isnull()]。您会看到数据框中的条目可能为空或根据 pandas 的 NaN 值。

    你会想要解决这个问题。

    【讨论】:

    • 你在执行data[data.isnull()]时有没有得到任何结果?
    猜你喜欢
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多