python数据可视化中根据数据,获取前500条数据,将获取的lat和lon两列的地理坐标转换到地图投影中,将pop列的数据绘制成气泡并显示到地图上。
时间: 2024-02-21 08:00:02 浏览: 93
好的,针对你的问题,我可以给出一份代码供参考:
```python
import pandas as pd
import folium
# 读取数据
data = pd.read_csv('data.csv')
# 获取前500条数据
data = data.head(500)
# 创建地图对象
m = folium.Map(location=[data['lat'].mean(), data['lon'].mean()], zoom_start=10)
# 将坐标转换为地图投影
data['location'] = list(zip(data['lat'], data['lon']))
data['location'] = data['location'].apply(lambda x: folium.Marker(location=x).add_to(m))
# 绘制气泡图
for lat, lon, pop in zip(data['lat'], data['lon'], data['pop']):
folium.CircleMarker(location=[lat,lon], radius=pop/10000, color='red', fill=True, fill_color='red', fill_opacity=0.2).add_to(m)
# 显示地图
m
```
这段代码中,我们首先使用 pandas 读取数据,然后通过 `head()` 方法选择前500条数据。接着,我们使用 folium 库创建地图对象,并计算数据的平均坐标作为地图的中心点。
为了在地图上显示数据,我们将 `data` 中的 `lat` 和 `lon` 列合并成一个元组,并通过 `lambda` 函数将其转换为 folium 中的标记对象,然后添加到地图中。
最后,我们使用 `CircleMarker` 函数绘制气泡图,并设置半径和颜色等参数。需要注意的是,这里将 `pop` 列的数值除以10000,是为了让气泡的大小适宜地显示在地图上。
最后,使用 `m` 对象显示地图即可。
阅读全文