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秒で動作します!私はpysql :(、任意のアイデアを使用することはできませんのでパンダを使用してSQLのように見えるようにしたい
は、私はPythonで2番目のスクリプトを書きたい?私は2つの提案を行っている
くださいPythonで2番目のスクリプトのあなたの最高の翻訳が?本当に効果的ではありません時間 (必須)パンダない最初の1
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)
)をカウントする場合
あなたが ''コピーを使用している理由STは、直接それを使用します() ''メソッド?私はそれが多くのオーバーヘッドを作り出すと思う。 – Dimgold
ありがとう、コピーの代わりに何をお勧めしますか? –