【问题标题】:Merge table output includes duplicate records pandas合并表输出包括重复记录熊猫
【发布时间】:2020-09-07 07:56:09
【问题描述】:

我正在尝试合并(Left)两个表,但我最终得到一个包含大量重复行的输出 以下是我目前使用的代码

**file1 table**
TableA                                  Desired output
date volume Key       key1 NR/HL        date Volume NR/HL
jan  100     a         a    10           jan  100     10
jan  200     b         b    20           jan  200     10 
feb  300     a                           feb  300     20 
feb  400     b                           feb  400     20 

TableA=TableA.merge(TableB,left_on="Key",right_on="Key1",how="left")
TableA.drop_duplicates("Key",keep="first")

【问题讨论】:

  • TableB 是否包含 Key1 上的重复项?否则,你甚至不需要做drop_duplicates
  • 我从TableB Key1 中删除了重复项,我们唯一的重复项是在TableA,但添加了月份后将是唯一的。

标签: python python-3.x pandas merge


【解决方案1】:

如果通过您在问题中输入的desired output,则根本不需要drop_duplicates

只需从merge 输出中删除Key1 列,如下所示:

TableA = TableA.merge(TableB,left_on="Key",right_on="Key1",how="left").drop('Key1', 1)

你会得到你想要的输出:

Out[1120]: 
  Month  Volumes   NR Key  NR/HL
0   jan      200  100   A     10
1   Jan      300  200   B     20
2   feb      400  300   A     10
3   Feb      500  400   B     20

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 1970-01-01
    • 2021-07-30
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    相关资源
    最近更新 更多