我有一個DF看起來如下嵌套如果檢查一個或多個大熊貓列滿足條件
customer activity_1 activity_2 activity_3 activity_4
1 40 null 30 null
2 41 null null null
3 60 50 60 75
4 null null null null
5 null 20 40 10
問題1: 現在我需要使用嵌套增加一列,如果函數如果返回0所有活動都爲空,如果至少一個活動不爲空,則爲1;如果至少兩個活動不爲空,則爲2;如果所有活動不爲空,則爲4。
我曾嘗試遠來解決它:
def act(x):
if (x['activity_1'] != 'null'):
return 1
elif (x['activity_1'] != 'null') & (x['activity_2'] != 'null'):
return 2
elif (x['activity_1'] != 'null') & (x['activity_2'] != 'null') & (x['activity_3'] != 'null'):
return 3
elif (x['activity_1'] != 'null') & (x['activity_2'] != 'null') & (x['activity_3'] != 'null') & (x['activity_4'] != 'null'):
return 4
else:
return 0
然後:
df['act'] = df.apply(act, axis=1)
問題2: 添加列與存在於各種情況下的活動名稱。
我有什麼到目前爲止已經試過是定義另一個嵌套IF函數,如果在新列行事值檢查是1回活動1等
非常感謝!
我到目前爲止試過的是什麼?看來你希望我們爲你寫代碼.. – iFlo
我將代碼添加到問題 – Mshendy
問題更新,對不起,誤導 – Mshendy