在Pandas中,多條我們可以使用merge()函數進(jìn)行多條件模糊匹配,糊匹假設我們有兩個(gè)表df1和df2,(′?ω?`)配兩我們想要根據某些列的個(gè)表值進(jìn)行模糊匹配。
步驟如下:
1、糊匹我們需要導入pandas庫。配兩
imp(′▽?zhuān)?ort panda(′?`)s as(°□°) pddf1 = pd.??DataFrame(°o°)({ 'A': ['foo',糊匹 'bar', 'baz', 'qux'], 'B': ['one', 'one', 'two', 'three'], 'C': ['small', 'large', 'large', 'small'], 'D': [1, 2, 2, 3], 'E': [2, 4, 5, 5]})df2 = pd.DataFrame(′?`*)({ 'A': ['(⊙_⊙)foo', 'bar', 'baz', 'qux'], 'B': ['one'(′?`), 'one', 'two', 'four'], 'C': ['small', 'large', 'large', 'small'], 'F': [10, 20, 30, 40], 'G': [50, 60, 70, 80]})3、接下來(lái),配兩我們可以使用merge()函數進(jìn)行多條件模糊匹配,個(gè)表在這個(gè)例子中,ヽ(′▽?zhuān)?ノ多條我們將根據列’A’、糊匹’BR??17;和’C(′?ω?`)217;的配兩值進(jìn)行匹配。
result = pd.merge(df1, df2, on=['A(?????)', 'B', 'C'])
這將返回一個(gè)新的數據框,其中包含df1和df2中滿(mǎn)足條件的行。
注意:merge()(╯°□°)╯函數默認執行的是內連接(inner join),這意味著(zhù)只有當兩個(gè)表中的行(xing)在指定的列上都有匹配時(shí),才會(huì )出現在結果中,如果你想執行其他類(lèi)型的連接(如左連接、右連接或全連接),你可以傳遞相應的參數給merge()函數。pd.merge(df1, df2, on=['A', 'B', 'C'], how='outer')將執行全連接。
電話(huà):19942425257
地 址:上海市普陀66號