第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 python 中比較 CSV

在 python 中比較 CSV

慕標5832272 2023-06-20 16:15:26
如何比較兩個 csv,從中尋找file_1.csv沒有重復的行file_2.csv并將其打印到文件中?(熊貓打算使用):import pandas as pdoriginal = pd.read_csv('file_1.csv', sep=';')backup = pd.read_csv('file_2.csv', sep=';')n = pd.concat([original,backup], axis=0)n.drop_duplicates(keep='first', inplace=True)n.to_csv('diff.csv', sep=';')File_1.csvA00;A01;B01A10;A11;B12A20;A21;B22....File_2.csv A00;A01;B01A20;A21;B22diff.csv  [Real]A00;A01;B01A20;A21;B22diff.csv  [Expected]A10;A11;B12這讓我得到了兩個文件之間重復的所有行,而不是 file_1 中 file_2 中缺少的行。這些是大文件和大行數(shù)。謝謝
查看完整描述

1 回答

?
料青山看我應如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

pd.concat在這里不起作用,因為您無法判斷結(jié)果中存在的行是來自原始行還是來自備份。相反,您應該pd.merge在所有列上使用 with indicator=True,它基本上執(zhí)行外部聯(lián)接,同時告訴您每一行是否都存在于兩者中DataFrames:


>>> merged = df1.merge(df2, how='outer', on=list(df1.columns), indicator=True)

>>> merged

     0    1    2     _merge

0  A00  A01  B01       both

1  A10  A11  B12  left_only

2  A20  A21  B22       both

然后我們可以過濾并刪除該_merge列以獲得我們期望的結(jié)果:


>>> result = merged[merged['_merge'] == 'left_only'].drop(columns=['_merge'])

>>> result

     0    1    2

1  A10  A11  B12


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號