加入两个具有重复值的熊猫数据框[重复]

Posted

技术标签:

【中文标题】加入两个具有重复值的熊猫数据框[重复]【英文标题】:Join two panda dataframe with duplicate value [duplicate] 【发布时间】:2021-12-18 19:20:16 【问题描述】:

我有两张桌子

大师:

BLOCKID PLANTINGDATE  PLANTED_HA
   A001    01-JAN-08       13.86
   A002    01-JAN-08       13.24
   A002    31-MAR-18        1.99
   A003    01-JAN-08       14.76
   A003    31-MAR-18        2.48

pest_perperiod:(注意除了A002还有FIELDCODE)

FIELDCODE      PERIOD
     A002  2019-01-01
     A002  2019-02-01
     A002  2019-03-01
     A002  2019-04-01
     A002  2019-05-01

我想加入两个数据框,以便为每个 PLANTINGDATE 中的数据pes_perperiod 将有一个或多个相应的 PLANTINGDATE(如 SQL 中的交叉连接),因此我可以计算每个 BLOCKID 和 PLANTINGDATE 自活动月份以来的保留率

我尝试使用:(反之亦然)

pest_perperiod.join(masterblok.set_index('BLOCKID'), on='FIELDCODE')

由于重复值仍然存在,返回错误,怎么办?

【问题讨论】:

试试past_period.merge 【参考方案1】:

我想你只是想要merge

pest_perperiod.merge(masterblock, left_on='BLOCKID', right_on='FIELDCODE')

输出:

  BLOCKID PLANTINGDATE  PLANTED_HA FIELDCODE      PERIOD
0    A002    01-JAN-08       13.24      A002  2019-01-01
1    A002    01-JAN-08       13.24      A002  2019-02-01
2    A002    01-JAN-08       13.24      A002  2019-03-01
3    A002    01-JAN-08       13.24      A002  2019-04-01
4    A002    01-JAN-08       13.24      A002  2019-05-01
5    A002    31-MAR-18        1.99      A002  2019-01-01
6    A002    31-MAR-18        1.99      A002  2019-02-01
7    A002    31-MAR-18        1.99      A002  2019-03-01
8    A002    31-MAR-18        1.99      A002  2019-04-01
9    A002    31-MAR-18        1.99      A002  2019-05-01

【讨论】:

以上是关于加入两个具有重复值的熊猫数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章

熊猫加入具有不同名称的列[重复]

具有两个以上数据框的熊猫的外部合并[重复]

将两个熊猫数据框组合在一起Python [重复]

熊猫数据框:在固定其他列的列中提取具有特定标准/条件最小值的数据[重复]

将两个具有相似列值的数据框合并在一起[重复]

从字典中添加具有映射值的新熊猫列[重复]