合并方法与SQL查询

时间:2017-08-05 06:48:08

标签: pandas

我在从MySQL派生的数据上使用了pandas数据帧的内部合并方法。我希望计数与内连接SQL查询匹配。合并方法的工作方式与内连接SQL查询完全相同吗?

farmer_ucd=pd.read_sql('select * from usercredential_dtl  ', con=farmer_engine)
farmer_upe=pd.read_sql('select * from userprofile_dtl  ', con=farmer_engine)

farmer_upe.merge(farmer_ucd, how='inner', on=['user_id'])

99979 rows × 51 columns

SQL查询的计数高于pandas的合并方法。

select count(*) from usercredential_dtl as  ucd inner join userprofile_dtl as upe
on ucd.User_Id = upe.User_Id 

count(*)
109254

1 个答案:

答案 0 :(得分:1)

这是因为pandas也比较了列案例,而mysql将执行不区分大小写的搜索。

farmer_upe['user_id']=farmer_upe['user_id'].str.lower()

当我将公共列更改为小写时,它与mysql查询计数匹配。