如何在两个dataframe之间有效地匹配文本



我有一些文本数据:data1

更好的方法是…我已经使用Pandas很长时间了,所以我…

如果您的连接键中有很多重复,则输出表可能比您正在连接的任何表都大得多。

polars中可能有帮助的事情是:

  • 使用Categorical数据类型,以便缓存副本。
  • 删除你的连接键,使输出表不会爆炸(如果允许正确)。
  • 直接从scan级别使用极地惰性API。这样,中间结果将被清除,并且不会保存在RAM中。除此之外,极地可能会做其他优化来减少内存压力。

如果您不需要所有的输出数据,但假设只需要连接结果的前x万行,那么您可以使用惰性极性。

lf_a = pl.scan_parquet("data1")
lf_a = # some more work
lf_b = p.scan_parquet("data2"_
lf_b = # some more work
# take only first million rows
N = int(1e6)
# because of the head operation the join will not materialize a full output table
lf_a.join(lf_b).head(N)

最新更新