从csv读取值,然后使用python将它们放入字符串中

2024-07-04 05:10:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多伦多房地产信息电子表格-这包括该地区公寓的经纬度。事实上,它甚至有一个列与lat&long组合在一起。我想做的是把这些坐标放在地图上,可能有折页(但我愿意接受其他选择)。据我所知,folium使用以下格式:

map_1 = folium.Map(location=[45.372, -121.6972],
                  zoom_start=12,
                  tiles='Stamen Terrain')
folium.Marker([45.3288, -121.6625], popup='Mt. Hood Meadows').add_to(map_1)
folium.Marker([45.3311, -121.7113], popup='Timberline Lodge').add_to(map_1)
map_1

就我所知,我需要做两件事:

1)生成足够数量的行:叶状记号笔([x,y])。添加到(地图1)

2)用电子表格中的纬度/经度值填写x和y

到目前为止,我已经从csv中提取了lat/long列,但我已经得到了:

^{pr2}$

如果您真的需要查看csv,它位于:https://github.com/vshideler/toronto-condos

如有任何建议,将不胜感激!在


Tags: csvtoadd信息map地图marker地区
1条回答
网友
1楼 · 发布于 2024-07-04 05:10:25

如果您将来要更多地使用这样的数据,我强烈建议您通读pandas documentation。这包括一个10 minute "getting started" guide,它涵盖了许多常见的用例,包括与此非常相似的示例。在

也就是说,在上面给出的代码中,您拥有所需的大部分组件。我看到的两个问题如下:

  1. 如果您查看DataFrame的数据类型(df_raw.dtypes),您将看到您的Latlng列实际上仍然是一个字符串,而Pandas已经为您将纬度经度列转换为浮动。这应该告诉你,这可能更容易与这两个工作,因为他们将直接用于定位你的标记。

  2. 您可能需要对地图进行一点配置—从示例代码中获取的默认值将创建一个以俄勒冈州某处为中心的地形图。考虑到你正在多伦多规划房产,这两个似乎都不是一个好的选择。我通常喜欢把地图的中心放在数据的平均点上。

一个简单的例子可以是:

import pandas as pd
import folium

df = pd.read_csv("df_condo_v9_t1.csv")

map_center = [df["Latitude"].mean(), df["Longitude"].mean()]
map_1 = folium.Map(location=map_center, zoom_start=16)

for i, row in df[["Latitude", "Longitude"]].dropna().iterrows():
    position = (row["Latitude"], row["Longitude"])
    folium.Marker(position).add_to(map_1)

map_1

相关问题 更多 >

    热门问题