使用Pandas合并大型数据集

时间:2016-07-08 15:19:34

标签: python pandas merge

我试图合并两个大型DataFrame:

  • myTable,形状:(331994,13)。第一个包含多个客户代码(1列)的交易数据(12列)
  • Referential,形状(75546,1)。第二个包含一个引用表,其中客户端代码作为索引,第1列中包含客户端名称。

我想合并两个表,以便在myTable中提供名称。

我尝试合并这两个表,但我一直有memory error,我想知道是否有更优化的方法来执行此操作:

  • 使用索引进行合并会更好吗?
  • 我应该在合并前对表格进行排序吗?
  • 我应该在合并之前尝试过滤referential表格,以排除不会出现在myTable中的客户端代码吗?
  • 是否有更有效的方法来编写此合并?
  • 我可以避免合并这么简单的操作吗?

我尝试使用以下代码查找每行的clientName:

myTable["clientName"]=myTable.clientCode.apply(lambda x:
  referential.loc[x]["clientName"])

它工作正常,但有点长。

提前致谢

1 个答案:

答案 0 :(得分:2)

假设您的Referential DF如下所示:

   clientName
0       name1
1       name2
2       name3

索引对应ClientCode,您可以使用{{3}}方法:

myTable["clientName"] = myTable.clientCode.map(Referential['clientName'])