我有一个 df 看起来像这样:
consumer_id order_total
1 5
2 6
3 7
1 5
对于每一个消费者consumer_id我想取平均值所有的order_total每consumer_id创造一个新的列SID基于以下规则:
if new `order_total` >= 7:
SID = 3
elif new `order_total` >= 6 OR <7:
SID = 2
else:
SID = 1
新 df 应如下所示(consumer_id1,平均值为 5):
consumer_id order_total SID
1 5 1
2 6 2
3 7 3
1 5 1
这是我在没有平均 per 的情况下尝试的 if 语句consumer_id:
if df.order_total >= 150:
df['SID'] = 3
elif [df.order >= 50] & [df.order< 100]:
df['SID'] = 2
else:
df['SID'] = 1
我得到错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
梵蒂冈之花
MYYA
忽然笑
随时随地看视频慕课网APP
相关分类