盤點一個Pandas實戰需求的問題

dcpeng發表於2024-03-15

大家好,我是Python進階者。

一、前言

前幾天在Python最強王者交流群【wen】問了一個Pandas解決實際需求的實戰問題。問題如下:

請教:程式碼的目的為自動填充產品名字,有多個銷售資料的表格,如例子,銷售資料表格中的的產品名字一列為空,我把銷售資料表格與產品資訊表格進行根據產品IP進行合併獲得產品名字,但有些資料的產品號一列為空,可以根據產品ID進行匹配,請問怎麼設定邏輯,當產品號為空時根據產品IP進行匹配呢?

image.png

二、實現過程

【瑜亮老師】指出:產品號為空就用id其實就是用id列填充產品號列的空值。

【wen】:大部分資料都有產品號,今天發現有些資料匹配不了,原來產品號缺失。

這裡【瑜亮老師】給出了具體的程式碼,如下所示:

df1 = df1.merge(df2[['產品號', '產品名稱']], on='產品號', how='left')
df1.loc[df1['產品號'].isnull(), '產品名稱'] = df1.loc[df1['產品號'].isnull(), 'ID'].map(lambda x: df2[df2['ID'] == x]['產品名稱'].values[0])

順利地解決了粉絲的問題。

如果你也有類似這種Python相關的小問題,歡迎隨時來交流群學習交流哦,有問必答!

三、總結

大家好,我是Python進階者。這篇文章主要盤點了一個Pandas解決實際需求的問題,文中針對該問題,給出了具體的解析和程式碼實現,幫助粉絲順利解決了問題。

最後感謝粉絲【wen】提出的問題,感謝【瑜亮老師】給出的思路,感謝【莫生氣】等人參與學習交流。

【提問補充】溫馨提示,大家在群裡提問的時候。可以注意下面幾點:如果涉及到大檔案資料,可以資料脫敏後,發點demo資料來(小檔案的意思),然後貼點程式碼(可以複製的那種),記得發報錯截圖(截全)。程式碼不多的話,直接發程式碼文字即可,程式碼超過50行這樣的話,發個.py檔案就行。

image.png

相關文章