python_使用zip來產生迴圈及判斷式
vlookup時,要如何根據判斷式來顯示特定位置的值
Published in
2 min readDec 10, 2019
其實這個情境有點難以說明,但在資料處理中又很常使用到。先拿鐵達尼號的數據來作為說明:
簡單說,我想要創造2組序列,分別能夠列出當Cabin為空白值時,放入對應位置"Fare"及"Embarked"的值。
首先看一下這些欄位的格式,可發現雖然都在同個欄位內,但df1.Cabin[0]這個空格值呈現的為數值(float),而df1.Cabin[1]則為字串(str)。
因此,我們需要先將同個欄位內的值都轉成一致的版本,這邊我們先來試轉為字串(str)。(別小看這個步驟,當初可是卡了很久QQ…)
最終依照案例Demo的程式碼:
我們可以透過zip函數,來讓變數能夠同時鎖定在同一列上。
for a,b,c in zip(df1.Cabin,df1.Fare,df1.Embarked):
意思是a變數來自於df1.Cabin ; b變數來自於df1.Fare ; c變數來自於df1.Embarked。今天的條件式是先判斷a是否為nan,如果是nan的話,則在 Fare_list中放入b,在 Embarked_list中放入c。
以上簡單的分享還請大家參考囉。