比方說,我有兩個dataframes,並同時爲列名:python熊貓如何根據子串合併/連接兩個表?
table 1 columns:
[ShipNumber, TrackNumber, Comment, ShipDate, Quantity, Weight]
table 2 columns:
[ShipNumber, TrackNumber, AmountReceived]
我想合併兩個表時是「ShipNumber」或從表2「軌段編號」可以在「評論」中找到從表1
而且,我會解釋爲什麼
merged = pd.merge(df1,df2,how='left',left_on='Comment',right_on='ShipNumber')
不會在這種情況下工作。
「註釋」列是可以包含任何內容的文本塊,因此我無法進行類似tab2.ShipNumber == tab1.Comment的精確匹配,因爲tab2.ShipNumber或tab2.TrackNumber可以作爲子字符串tab1.Comment。
所需的輸出表應具有的所有獨特的列從兩個表:
output table column names:
[ShipNumber, TrackNumber, Comment, ShipDate, Quantity, Weight, AmountReceived]
我希望我的問題是有道理的...... 任何幫助,真的很感謝!
注
的最終目標是與合併兩套(shipnumber == shipnumber |軌段編號==軌段編號| shipnumber在評論|評論中軌段編號),但我已經創建了兩個子集爲前兩個條件,現在我正在處理第三和第四個條件。
你可以在''Comment''列上使用正則表達式來創建一個新的'ExtractedNum'列來匹配看起來像ShipNumber或TrackNumber的東西嗎?然後你可以合併新的ExtractedNum列。或者評論中可能有多於一個的數字? – nanojohn
ShipNumber和TrackNumber可能不會保持相同的格式....(少數例外存在,不想排除這些)。所以這就是爲什麼我想只匹配來源(表2)。和'評論'是一個文本的一塊可以是任何東西。 – alwaysaskingquestions