Python / Pandas - 合并一个到多个csv进行非规范化

时间:2018-03-08 21:23:47

标签: data-structures denormalization

我有一堆从关系数据库中提取出来的大型csv文件。例如,我有fit.exponential.plot_pdf(color = '-b', ax = fig2) customers.csvaddress.csv来映射关系的键值。我在这里找到了如何合并文件的答案:  Python/Panda - merge csv according to join table/csv

所以现在我的代码看起来像这样:

customer-address.csv

现在我注意到我有一对多关系的文件,并且当一个键有多个匹配时,上面的代码可能会覆盖值。

是否有一种方法可以将文件与一对多(多对多)关系联系起来?我正在考虑为每个外键创建一个完整(冗余)行。所以基本上是非规范化。

1 个答案:

答案 0 :(得分:0)

我的问题的答案是执行外连接。使用下面的代码,pandas会为左侧或右侧数据框中的某个id的每个出现创建一个新行,从而创建一个非规范化表。

df1.merge(df2, left_on='CID', right_on='ID', how='outer')