これは私の最初のパンダの試行で、何が問題なのか疑問に思っていました。私はそれぞれ約30.000行の2つのデータフレームを比較しようとしています。私の最初の直感は、両方のデータフレームを繰り返し処理するようになったので、df1のすべてのエントリについて、df2のすべての行を繰り返して、そこにあるかどうかを確認します。エラーメッセージなしでパンダのデータフレームの比較がハングアップ
多分、必要ではないかもしれないし、より簡単な選択肢があります。ここに私がしたことがあります。
$1 & UP STORE CORP.142A | N FRANKLIN ST | 409 408 | 31/07/2014
$1 store | 110 n martin ave | 408 | 07/01/2015
0713, LLC | 1412 N. County Road West | 405 408 413 | 16/07/2015
1 2 3 MONEY EXCHANGE LLC | 588 N MAIN ST | 405 409 408 | 22/05/2015
$1 store premium | 110 n martin ave | 408 | 07/01/2015
0713, LLC | 1412 N. County Road West | 405 408 413 | 16/07/2015
1 2 3 MONEY EXCHANGE LLC | 588 N MAIN ST | 405 409 408 | 22/05/2015
1145 Parsons Inc | 1145 Parsons Ave | 405 408 | 19/11/2013
所望の出力があることである:問題が...それは単にエラーメッセージを出力せずにハングアップが、私はそれがハング作っているものを識別することはできません、各データフレームのための
import pandas as pd
dfOld = pd.read_excel("oldfile.xlsx", header=0)
dfNew = pd.read_excel("newfile.xlsx", header=0)
columns = ["NAME","ADDRESS","STATUS","DATE"]
result = pd.DataFrame(columns=columns)
for index, rowOld in dfOld.iterrows():
for index, rowNew in dfNew.iterrows():
if rowOld.all() != rowNew.all():
result.loc[len(result)] = rowOld.all()
writer = pd.ExcelWriter('Deletions.xlsx', engine='xlsxwriter')
result.to_excel(writer, sheet_name='Deleted')
writer.save()
サンプル・データであり、データフレームresults
には、dfNew
に存在しないdfOld
の行が入力されます。だから、新しいresults
データフレームは、で構成されます:
$1 & UP STORE CORP.142A | N FRANKLIN ST | 409 408 | 31/07/2014
$1 store | 110 n martin ave | 408 | 07/01/2015
問題は、それが小さなサンプルで動作することができれば、それは、そうであっても、大量(データフレームあたり30.000エントリ)で動作していないということです
Iこれが多くのエントリーを進める方法であるかどうか疑問に思います。
あなたは(各DFのための5,6行のデータのサンプルを追加できます)と望ましい出力? – jezrael
ありがとうございました。希望の出力が得られれば、簡単に確認できます。 – jezrael
また、私はあなたの解決策を試して、それが正常に動作するか間違っているかをサンプルで確認しています – jezrael