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 fonctionne en seulement 5 secondes !!voulez utiliser panda pour faire ressembler/travailler comme sql
Je veux écrire le second script en python parce que je ne peux pas utiliser pysql :(, toute idée? La meilleure traduction du second script en python s'il vous plaît?
Je l'ai fait 2 propositions, mais pas vraiment efficace en terme de temps la première sans Pandas (qui est le nécessaire)
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'])
Merci pour vos conseils!
pourquoi vous utilisez le '' copie() '' méthode? Je pense que cela crée beaucoup de frais généraux. – Dimgold
Merci, que suggérez-vous au lieu de copier? –