我正在尝试合并两个数据文件产品并查看公共密钥“product_id”,这表明没有共同的价值 - 因此我得到了NaN渗透的合并表。
经过一番检查,我发现确实有共同的价值观。代码: (出于某种奇怪的原因,文件产品上的名称“product_id”是'\ xef \ xbb \ xbfproduct_id')
product2=product[['\xef\xbb\xbfproduct_id','page_id']].sort('\xef\xbb\xbfproduct_id')
review2=review[['product_id','review_id']]
tables=[product2,review2]
for item in tables:
print item.head(5)
print item.shape
product_id page_id
4028 1071569 39995
4435 1071570 42719
2519 1071571 27421
3992 1071572 39839
4018 1071574 39978
(4999, 2)
product_id review_id
0 1071569 1755406
1 1071569 1755407
2 1071569 1755408
3 1071569 1755409
4 1071569 1755410
(4999, 2)
product2["\xef\xbb\xbfproduct_id"][4028]==review2['product_id'][0]
True
这个简单的检查表明,至少'产品ID'1071569存在于两个表中。但是我试过了:
product2["\xef\xbb\xbfproduct_id"][4028] in review2['product_id']
它返回False。
任何人都可以帮助我吗?
答案 0 :(得分:0)
您就是这样做的:
product2["\xef\xbb\xbfproduct_id"][4028] in review2['product_id'].values
如果有帮助,您可以将review2['product_id']
可视化为字典,其中键是行号0
,1
,2
,...
和该值是该行号的相应product_id on
。因此,product2["\xef\xbb\xbfproduct_id"][4028] in review2['product_id']
无效,因为它会搜索您幸运没有的行号1071569
。如果您有一个更大的数据集,这将返回True
,但这将是一个逻辑错误,因为您没有检查行号,但是您正在检查product_id
product2
数据框是否可用作为reviews2
数据框的产品ID,无论reviews2
上的行号是什么。