同时比较 2 个数据帧 - 2 个 itertuples?
compare 2 dataframes simultaneously - 2 itertuples?
我正在比较 2 个数据帧,我想看看名称是否与地址匹配,然后提取唯一 ID。否则,继续搜索最佳匹配。 (我对该部分使用了模糊匹配器)
我正在探索 itertools 并想知道使用 itertools.zip_longest 选项是否可以同时比较两个项目。而不是使用 2 个 for 循环(例如 df1.itertuples 中的 x:做某事... df2.itertuples 中的 y:做某事)这样的事情会起作用吗?
result = itertools.zip_longest(df1.itertuples(), df2.itertuples())
这是我的 2 个数据帧 -
Here's my DF1:
NAME ADDRESS CUSTOMER_SUPPLIER_NUMBER Sales Calls Target
0 OFFICE 1 123 road 2222277 84 170 265
1 OFFICE 2 15 lane 2222289 7 167 288
2 OFFICE 3 3 highway 1111111 1 2 286
3 OFFICE 4 2 street 1111171 95 193 299
4 OFFICE 5 1 place 1111191 9 193 298
DF2:
NAME ADDRESS CUSTOMER_SUPPLIER_NUMBER UNIQUE ID
0 OFFICE 1 123 road 2222277 014168
1 OFFICE 2 15 lane 2222289 131989
2 OFFICE 3 3 highway 1111111 149863
3 OFFICE 4 2 street 1111171 198664
4 OFFICE 5 1 place 1111191 198499
5 OFFICE 6 zzzz rd 165198 198791
6 OFFICE 7 5z st 19844 298791
7 OFFICE 8 34 hwy 981818 398791
8 OFFICE 9 81290 rd 899811 498791
9 OFFICE 10 59 rd 699161 598791
10 OFFICE 11 5141 bldvd 33211 698791
然后执行一个for循环并做一些if语句的比较。我可以并排访问这两个项目,但是我如何循环遍历这些项目来进行检查?
现在我收到:“
类型错误:'NoneType' 对象不可订阅
for yy in result:
if yy[0][1]== yy[1][1]:
print(yy) ......
我正在比较 2 个数据帧,我想看看名称是否与地址匹配,然后提取唯一 ID。否则,继续搜索最佳匹配。 (我对该部分使用了模糊匹配器)
我正在探索 itertools 并想知道使用 itertools.zip_longest 选项是否可以同时比较两个项目。而不是使用 2 个 for 循环(例如 df1.itertuples 中的 x:做某事... df2.itertuples 中的 y:做某事)这样的事情会起作用吗?
result = itertools.zip_longest(df1.itertuples(), df2.itertuples())
这是我的 2 个数据帧 -
Here's my DF1:
NAME ADDRESS CUSTOMER_SUPPLIER_NUMBER Sales Calls Target
0 OFFICE 1 123 road 2222277 84 170 265
1 OFFICE 2 15 lane 2222289 7 167 288
2 OFFICE 3 3 highway 1111111 1 2 286
3 OFFICE 4 2 street 1111171 95 193 299
4 OFFICE 5 1 place 1111191 9 193 298
DF2:
NAME ADDRESS CUSTOMER_SUPPLIER_NUMBER UNIQUE ID
0 OFFICE 1 123 road 2222277 014168
1 OFFICE 2 15 lane 2222289 131989
2 OFFICE 3 3 highway 1111111 149863
3 OFFICE 4 2 street 1111171 198664
4 OFFICE 5 1 place 1111191 198499
5 OFFICE 6 zzzz rd 165198 198791
6 OFFICE 7 5z st 19844 298791
7 OFFICE 8 34 hwy 981818 398791
8 OFFICE 9 81290 rd 899811 498791
9 OFFICE 10 59 rd 699161 598791
10 OFFICE 11 5141 bldvd 33211 698791
然后执行一个for循环并做一些if语句的比较。我可以并排访问这两个项目,但是我如何循环遍历这些项目来进行检查?
现在我收到:“ 类型错误:'NoneType' 对象不可订阅
for yy in result:
if yy[0][1]== yy[1][1]:
print(yy) ......