python - 想使用 panda 使其看起来/像 sql 一样工作

标签 python mysql pandas pysqlite

    pysql = lambda q: pdsql.sqldf(q, globals())
    str1 = "select coalesce(ID1, H_ID, [Alternate Source Unique 
    Identifier]) as Master_ID, [Alternate Source Unique Identifier] as Q_ID 
    from crosswalk;"
     with Timer("Load master_ids:"):
    master_id_list = pysql(str1)
    print("Records: {}".format(len(master_id_list)))
    master_id_list.head()

pySQL 运行仅需 5 秒!!

我想用 python 编写第二个脚本,因为我不能使用 pysql :(

我已经做了 2 个命题,但在时间上并没有真正有效 第一个没有 Pandas 的(这是必需的)

    def coalesce (df, column_names):
    i=iter(column_names)
    column_name=next(i)
    answer=df[colum_name]
    for column_name in i:
    answer = answer.fillna(df[column_name])
    return answer
    coalesce(df, ['first', 'third', 'second'])

谢谢你的建议!

最佳答案

如果你只需要计算记录的数量(len(master_id_list)),你可以直接使用它:

人行横道['ID'].size

人行横道形状

如果您正在寻找唯一值,请尝试:

crosswalk['ID'].unique().size

关于python - 想使用 panda 使其看起来/像 sql 一样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45072249/

相关文章:

python - 以事务方式或非事务方式修改实体数据(取决于需要)

python mysql.connector 模块使用错误的 IP 地址

mysql - 如何从 MySQL 文本字段中以空格分隔的列表中选择数字?

Mysql处理单引号冲突

python - 如何在 pandas 数据框的子集中搜索出现值的行

python - 计算 Pandas 数据帧每列中满足条件的值的数量

python - 使用 Python 将 HTML 表格保存到 excel 中时出现问题

python - 如何运行与python放置在不同文件夹中的shell脚本

python - Matplotlib,损坏的图形表示错误

python - 如何使用 python pandas 通过多索引获取值?