相关疑难解决方法(0)

在Python中合并两个包含数百万行的表

我正在使用Python进行一些数据分析.我有两个表,第一个(我们称之为'A')有1000万行和10列,第二个('B')有7300万行和2列.它们有1列具有公共ID,我想基于该列与两个表相交.特别是我想要表的内连接.

我无法将内存上的表B加载为pandas数据帧,以便在pandas上使用普通的合并功能.我尝试在块上读取表B的文件,将每个块与A相交并连接这些交叉点(从内部连接输出).这在速度上是可以的,但是偶尔会给我带来问题并吐出一个分段错误......没那么好.这个错误难以重现,但它发生在两台不同的机器上(Mac OS X v10.6(Snow Leopard)和UNIX,Red Hat Linux).

我最后尝试使用Pandas和PyTables的组合,将表B写入磁盘,然后迭代表A并从表B中选择匹配的行.这最后一个选项有效,但速度很慢.pytables上的表B已默认编入索引.

我该如何解决这个问题?

python merge join pytables pandas

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

join ×1

merge ×1

pandas ×1

pytables ×1

python ×1