【发布时间】:2021-04-16 11:19:51
【问题描述】:
我正在尝试根据一些比较条件将名称分配给集群,但是我收到错误消息,指出 numpy 浮点对象不可迭代。此外,我不希望对数据集进行子集化,如下所示,从 df 到 df1 再将其连接起来。 下面是代码:
import pandas as pd
df = pd.DataFrame({'cluster':[0, 1, 2, 9999], 'earlypc':[88.943,4.034,6.839,0.488],'C':[3.491,8.306,75.329,34.5],'D':[14.548,87.66,17.832,65.012]})
df1=df[df['cluster']!=999]
def cluster(a,b,c,d):
if(max(b)==b):
return 'high'
elif (max(c)==c):
return 'low'
elif (max(d)==d):
return 'medium'
else: return 'medium'
df1['Vendor_Segmentation']=df1.apply(lambda x:cluster(x['cluster'],x['earlypc'],x['C'],x['D']),axis=1)
TypeError: 'numpy.float64' object is not iterable
【问题讨论】: