想用panda让它看起来/像sq一样工作吗

2024-05-16 07:32:00 发布

您现在位置:Python中文网/ 问答频道 /正文

    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:(,知道吗?请把第二个脚本用python翻译好?你知道吗

我已经做了两个命题,但在时间上并不十分有效 第一个没有熊猫(这是必需的)

    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'])

谢谢你的建议!你知道吗


Tags: answernamemasteridsourcedfcolumnlist
1条回答
网友
1楼 · 发布于 2024-05-16 07:32:00

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

crosswalk['ID'].size

或者

crosswalk.shape

如果要查找唯一值,请尝试:

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

相关问题 更多 >