python - geopandas 的最快方法(读取和空间连接)

标签 python multithreading pandas geopandas

我有大约一百万行带有经纬度的数据,并且还会有更多数据。即使现在从 SQLite 文件读取数据(我用 pandas 读取它,然后为每一行创建一个点)也需要很多时间。

现在,我需要在这些点上建立一个空间联合,以获得每个点的邮政编码,我真的很想优化这个过程。

所以我想知道:是否有任何相对简单的方法来并行化这些计算?

最佳答案

我假设您已经实现了 GeoPandas 但仍然遇到困难? 您可以通过进一步散列坐标数据来改进这一点。类似于谷歌如何散列其搜索数据。一些数据库已经提供对这些类型的操作的支持(例如mongodb)。想象一下,如果您获取坐标的第一个(左侧)数字,并将每组对应的数据放入单独的 sqlite 文件中。每个数字都可以是指向要查找的正确文件的哈希值。现在,假设您的哈希查找相比之下花费的时间最少,您的查找时间已缩短了 20 倍 (range(-9,10))

关于python - geopandas 的最快方法(读取和空间连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35581528/

相关文章:

linux - Linux如何处理线程和进程调度

python - pandas 和文件系统可以替代数据库吗?

pandas - 重复 pandas 数据框中的行并连续更改列值

python - 计算 groupby 中计数器递增的次数

使用命名空间的 Python ElementTree find()

python - SQLAlchemy:查找数组列之间的差异

python - 设置 DateTimeField 的最小值

multithreading - C++/CX中的任务上的.wait()引发异常

python - Telethon Telegram 消息过滤器

java - 使用一个 Java 8 Consumer 作为 Runnable Callback - 线程安全吗?