【发布时间】:2018-01-27 06:31:10
【问题描述】:
我已经生成了以下代码:
data['Customer_segment'] = np.where(((data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])<=5,1),
np.where((data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])>5 & (data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])<=8,2),
np.where((data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])>8 & (data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])<=11,3),
np.where((data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])>11 & (data['Order frequency segment']+data['order_size_seg']+data['MOVC % segment'])<=14,4),5)
我收到以下错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
非常感谢帮助以达到最佳解决方案,我觉得我正在尝试做的那个可能不是最佳的。
输入示例如下:
MOVC % segment order_size_seg Order frequency segment
1 2 3
5 2 1
5 5 5
我正在尝试根据对每一行求和的结果添加一列,如下所示:
如果 3-5 那么 1 如果 6-8 那么 2 如果 9-11 那么 3 如果 12-14 那么 4 如果 15+ 则 5
真的会帮助解决这个问题
【问题讨论】:
-
每个条件都有问题你错过了
()-() & () &()...
标签: python pandas conditional where