【问题标题】:merge method compared with SQL query合并方法与 SQL 查询比较
【发布时间】:2017-08-05 06:48:07
【问题描述】:

我对来自 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的merge方法。

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

count(*)
109254

【问题讨论】:

标签: pandas


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 2019-01-28
    • 2020-12-27
    • 2013-09-16
    相关资源
    最近更新 更多