簡體   English   中英

位置的預期兩個(緯度、經度)值 python

[英]Expected two (lat, lon) values for location, python

我正在嘗試使用 pandas 處理 python 中的數據,我有這個數據在此處輸入圖像描述

  import folium
    import pandas
    mapp = folium.Map(location=[19.997454,73.789803], zoom_start=6, tiles="Stamen Terrain" )
    fg = folium.FeatureGroup(name="my map")
    
    df=pandas.read_csv("volcanoes.txt")
    cordinates="[" + df["LAT"].astype(str) + "," + df["LON"].astype(str) +"]"
    
    for i in cordinates:
        fg.add_child(folium.Marker(location=i,popup="hey jayesh , welcome to Nashik",icon=folium.Icon(color="green")))
    
    mapp.add_child(fg)
    
    mapp.save("jay1.html")


> Windows PowerShell Copyright (C) Microsoft Corporation. All rights
> reserved.
> 
> Try the new cross-platform PowerShell https://aka.ms/pscore6
> 
> PS C:\Users\DELL\OneDrive\Desktop\python\volcano> &
> C:/Users/DELL/AppData/Local/Programs/Python/Python39/python.exe
> c:/Users/DELL/OneDrive/Desktop/python/volcano/jayesh.py Traceback
> (most recent call last):   File
> "c:\Users\DELL\OneDrive\Desktop\python\volcano\jayesh.py", line 10, in
> <module>
>     fg.add_child(folium.Marker(location=i,popup="hey jayesh , welcome to Nashik",icon=folium.Icon(color="green")))   File
> "C:\Users\DELL\AppData\Local\Programs\Python\Python39\lib\site-packages\folium\map.py",
> line 277, in __init__
>     self.location = validate_location(location) if location else None   File
> "C:\Users\DELL\AppData\Local\Programs\Python\Python39\lib\site-packages\folium\utilities.py",
> line 50, in validate_location
>     raise ValueError('Expected two (lat, lon) values for location, ' ValueError: Expected two (lat, lon) values for location, instead got:
> '[48.7767982,-121.810997]'. PS
> C:\Users\DELL\OneDrive\Desktop\python\volcano>

問題在於這一行:

cordinates="[" + df["LAT"].astype(str) + "," + df["LON"].astype(str) +"]"

您正在生成一個字符串文字並將其傳入。

嘗試將該行替換為:

cordinates = [(lat, lon) for lat, lon in zip(df["LAT"],df["LON"])]

這將生成一個 (lat, lon) 元組列表,它應該可以工作。 我也不認為您需要將它們強制轉換為str

 **it work for me like his**
import folium
    import pandas
    mapp = folium.Map(location=[19.997454,73.789803], zoom_start=6, tiles="Stamen Terrain" )
    fg = folium.FeatureGroup(name="my map")
    
    df=pandas.read_csv("volcanoes.txt")
    lat=list(df["LAT"])
    lon=list(df["LON"])
    
    for i,j in zip(lat,lon):
        fg.add_child(folium.Marker(location=[i,j],popup="volcanoes",icon=folium.Icon(color="green")))
    
    mapp.add_child(fg)
    
    mapp.save("volcanoes.html")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM