加入两个具有重复值的熊猫数据框
Join two panda dataframe with duplicate value
我有两张桌子
大师级:
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
我想连接两个数据框,这样 pest_perperiod 中的每个数据都会有一个或多个对应的 PLANTINGDATE(如 SQL 中的交叉连接),这样我就可以计算自活跃月份以来的保留率每个 BLOCKID 和 PLANTINGDATE
我尝试使用:(反之亦然)
pest_perperiod.join(masterblok.set_index('BLOCKID'), on='FIELDCODE')
返回错误,因为重复值仍然存在,怎么办?
我想你只是想要 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
我有两张桌子
大师级:
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
我想连接两个数据框,这样 pest_perperiod 中的每个数据都会有一个或多个对应的 PLANTINGDATE(如 SQL 中的交叉连接),这样我就可以计算自活跃月份以来的保留率每个 BLOCKID 和 PLANTINGDATE
我尝试使用:(反之亦然)
pest_perperiod.join(masterblok.set_index('BLOCKID'), on='FIELDCODE')
返回错误,因为重复值仍然存在,怎么办?
我想你只是想要 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