[英]How to compare two dataframes using column index?
我正在使用 INSERT OVERWRITE LOCAL DIRECTORY 命令將 hdfs 查詢 output 導出到 csv 文件中。 由於這個導出數據沒有 header。 I got another dataframe from Oracle output with file header which I need to compare against hdfs output.
df1 = pd.read_csv('/home/User/hdfs_result.csv', header = None)
print(df1)
0 1 2
0 XPRN A 2019-12-16 00:00:00
1 XPRW I 2019-12-16 00:00:00
2 XPS2 I 2003-09-30 00:00:00
df = pd.read_sql(sqlquery, sqlconn)
UNIT STATUS Date
0 XPRN A 2019-12-16 00:00:00
1 XPRW A 2019-12-16 00:00:00
2 XPS2 I 2003-09-30 00:00:00
由於 df1 沒有 header 我不能使用 Merge 或 Join 來比較數據。 雖然我可以做 df-df1.
請建議我如何比較和打印差異?
您可以通過底層 numpy 數組進行比較:
df2.where(df2==df1.values)
Output (差異被掩蓋為NaN
)
UNIT STATUS Date
0 XPRN A 2019-12-16 00:00:00
1 XPRW NaN 2019-12-16 00:00:00
2 XPS2 I 2003-09-30 00:00:00
對於不匹配的行:
df2[(df2!=df1.values).any(1)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.