加入两个具有重复值的熊猫数据框[重复]
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
【讨论】:
以上是关于加入两个具有重复值的熊猫数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章