我有一個包含來自客戶的訂單行的 DataFrame。我想創建一個列,當客戶之前訂購過兩次時回傳 True 或 False 值。因此,他們第三次下訂單時,“經常性客戶”列將獲得 True 值。
資料框看起來像這樣:
df = pd.DataFrame({
'customer_id': ['5257', '8034', '21474', '21474', '21474', '6157']
})
所需的輸出應如下所示:
df = pd.DataFrame({
'customer_id': ['5257', '8034', '21474', '21474', '21474', '6157'],
'recurring_customer: ['False', 'False', 'False', 'True', 'False]
})
我想我必須使用 np.where 函式,但我不知道如何將它與唯一和非唯一值一起使用。你能幫我做最后一點嗎?
df['recurring_customer'] = np.where(df['customer_id']
uj5u.com熱心網友回復:
使用groupby_cumcount:
df['recurring_customer'] = df.groupby('customer_id').cumcount() >= 2 # or == 2?
print(df)
# Output:
customer_id recurring_customer
0 5257 False
1 8034 False
2 21474 False
3 21474 False
4 21474 True
5 6157 False
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360284.html
下一篇:選擇具有OR條件的列的最佳方法
