gpt4 book ai didi

python - Pandas 合并复制所有行

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:37 24 4
gpt4 key购买 nike

我正在尝试合并两个数据帧以查找任何新条目。目前这两个数据帧是相同的。

数据框A

    BusinessName                        Ubi             IdentifierValue
0 CHULA VISTA PAINTING/SERVICES 604000010 CHULAVP841MQ
1 MANU TECH LLC 604000040 MANUTTL833BL
2 HAWTHORN LANDSCAPE MTRILS INC 604000042 HAWTHLM845MM
3 M M R CONSTRUCTION LLC 604000082 MMRCOCL848MM
4 HURTADO PAINTING 604000120 HURTAP*831JJ

数据框B

        BusinessName                    Ubi             IdentifierValue
0 CHULA VISTA PAINTING/SERVICES 604000010 CHULAVP841MQ
1 MANU TECH LLC 604000040 MANUTTL833BL
2 HAWTHORN LANDSCAPE MTRILS INC 604000042 HAWTHLM845MM
3 M M R CONSTRUCTION LLC 604000082 MMRCOCL848MM
4 HURTADO PAINTING 604000120 HURTAP*831JJ

当我在 Ubi 上合并时,它会复制所有行。

A = A[['Ubi']]
B = B[['Ubi']]
A = A.merge(B, how='outer', indicator=True)
A


Ubi _merge
0 604000010.0 left_only
1 604000040.0 left_only
2 604000042.0 left_only
3 604000082.0 left_only
4 604000120.0 left_only
5 604000010.0 right_only
6 604000040.0 right_only
7 604000042.0 right_only
8 604000082.0 right_only
9 604000120.0 right_only

如果我只合并公司名称,尽管它会按预期工作。

A = A[['BusinessName']]
B = B[['BusinessName']]
A = A.merge(B, how='outer', indicator=True)
A

BusinessName _merge
0 CHULA VISTA PAINTING/SERVICES both
1 MANU TECH LLC both
2 HAWTHORN LANDSCAPE MTRILS INC both
3 M M R CONSTRUCTION LLC both
4 HURTADO PAINTING both

最好在Ubi上合并,但我似乎找不到问题。 Ubi 列是 Int64,而其他列是对象。我确实注意到,当我在 Ubi 列上合并时,列类型切换为 float64。

最佳答案

存在不同类型的问题,需要相同。

检查一下:

print (A['Ubi'].dtype)
print (B['Ubi'].dtype)

所以需要:

A['Ubi'] = A['Ubi'].astype(str)
B['Ubi'] = B['Ubi'].astype(str)

或者:

A['Ubi'] = A['Ubi'].astype(int)
B['Ubi'] = B['Ubi'].astype(int)

关于python - Pandas 合并复制所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46809632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com