import pandas as pdRead in two files
df1 = pd.read_csv("../output.csv", sep='|', header=None)
df1.head(2)| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | JC1398 | 07/17/2016 | 21:46:29 | 8TAC93D IS FHP MUTUAL AID CHANNEL | |
| 1 | JC1398 | 07/17/2016 | 21:48:33 | OSP COMMANDERS BRIEFING THEIR WILL BE NO CLEVE... |
df2 = pd.read_csv("../output2.csv", sep='|', header=None)
df2.head(2)| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | JC1398 | 07/17/2016 | 21:46:29 | 8TAC93D IS FHP MUTUAL AID CHANNEL | |
| 1 | JC1398 | 07/172016 | 21:48:33 | NaN | OSP COMMANDERS BRIEFING THEIR WILL BE NO CLEVE... |
You can get True/False for every cell just by comparing
df1 != df2| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | False | False | False | False | False |
| 1 | False | True | False | True | False |
| 2 | False | False | False | False | False |
| 3 | False | False | False | True | False |
| 4 | True | False | False | True | True |
So we say hey, give me every cell where things are different
df1[df1 != df2]| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | NaN | NaN | NaN | NaN | NaN |
| 1 | NaN | 07/17/2016 | NaN | NaN | |
| 2 | NaN | NaN | NaN | NaN | NaN |
| 3 | NaN | NaN | NaN | NaN | NaN |
| 4 | SmartCAD | NaN | NaN | NaN | OLD DISP CODES: CODE1 = MOA, CODE2 = , CODE3 =... |
df2[df1 != df2]| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | NaN | NaN | NaN | NaN | NaN |
| 1 | NaN | 07/172016 | NaN | NaN | NaN |
| 2 | NaN | NaN | NaN | NaN | NaN |
| 3 | NaN | NaN | NaN | NaN | NaN |
| 4 | SMARTCAD | NaN | NaN | NaN | OLD DISP CODES: CODE1 = MOA, CODE2 = , CODE3 =... |
We take those two dataframes and add them together
df1[df1 != df2] + df2[df1 != df2]| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | NaN | NaN | NaN | NaN | NaN |
| 1 | NaN | 07/17/201607/172016 | NaN | NaN | NaN |
| 2 | NaN | NaN | NaN | NaN | NaN |
| 3 | NaN | NaN | NaN | NaN | NaN |
| 4 | SmartCADSMARTCAD | NaN | NaN | NaN | OLD DISP CODES: CODE1 = MOA, CODE2 = , CODE3 =... |
Might as well add in a ‘vs’ for comparison and drop the bad ones
This isn’t the best.
df1[df1 != df2].add(" vs ").add(df2[df1 != df2]).dropna(how='all')| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 1 | NaN | 07/17/2016 vs 07/172016 | NaN | NaN | NaN |
| 4 | SmartCAD vs SMARTCAD | NaN | NaN | NaN | OLD DISP CODES: CODE1 = MOA, CODE2 = , CODE3 =... |