python_使用zip來產生迴圈及判斷式

vlookup時,要如何根據判斷式來顯示特定位置的值

--

其實這個情境有點難以說明,但在資料處理中又很常使用到。先拿鐵達尼號的數據來作為說明:

簡單說,我想要創造2組序列,分別能夠列出當Cabin為空白值時,放入對應位置"Fare"及"Embarked"的值。

首先看一下這些欄位的格式,可發現雖然都在同個欄位內,但df1.Cabin[0]這個空格值呈現的為數值(float),而df1.Cabin[1]則為字串(str)。

因此,我們需要先將同個欄位內的值都轉成一致的版本,這邊我們先來試轉為字串(str)。(別小看這個步驟,當初可是卡了很久QQ…)

最終依照案例Demo的程式碼:

我們可以透過zip函數,來讓變數能夠同時鎖定在同一列上。

意思是a變數來自於df1.Cabin ; b變數來自於df1.Fare ; c變數來自於df1.Embarked。今天的條件式是先判斷a是否為nan,如果是nan的話,則在 Fare_list中放入b,在 Embarked_list中放入c。

以上簡單的分享還請大家參考囉。

--

--

Tsai Kam
事業規劃單位的數據分析師 (grow with python)

好奇、愛觀察、喜歡自己動手做,是一個位在事業規劃單位(BU端)的數據分析師。從0程式基礎到能逐步將python應用於工作之中的小魯蛇。