Python:如何使用Basemap加速在英国地图上绘制经纬度数据的过程

2024-05-14 10:33:06 发布

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

我有一个非常大的数据集(超过57000行)作为数据帧。它有经度和纬度列(所有英国位置)。所以我想把它们画在英国地图上,用matplotlib的底图。然而,画出来的时间太长了。有没有什么方法可以加快进程,或者我的代码中有没有错误?你知道吗

for index, row in road.iterrows():
    count = row['count']
    x, y = m(row["Longitude"], row["Latitude"])
    size = count ** 2 + 3
    m.plot(x, y, 'o', markersize=size, color='#444444', alpha=0.8)

Tags: 数据方法代码forsizeindexmatplotlibcount
2条回答

两个想法:

  1. 将数据集缩小到一个较小的集合,以捕获时间和度量改进。你知道吗
  2. 如果不使用索引,请不要在for循环中使用索引,即for row in road.iterrows():
  3. 如果在循环中只使用一次,则不要指定变量。你知道吗

比如:

for row in road.iterrows():
    m.plot(m(row["Longitude"], row["Latitude"]),
       'o',
       markersize=(row['count'] ** 2 + 3),
       color='#444444', 
       alpha=0.8)

看起来没那么漂亮,但应该加快一点。你知道吗

然后跟踪每一个变化对绩效的影响。你知道吗

祝你好运!你知道吗

这真的取决于你想把数据形象化。你知道吗

我的第一个想法是做一个数据密度图(首先自己将数据放入一个更大的网格中,然后用颜色绘制这个网格,表明每个网格中有多少东西)。你知道吗

相关问题 更多 >

    热门问题