分箱任务:我有一个频率列表,我需要将其放入分箱中,但会遇到错误
Binning task: I have a list of frequencies which I need to put in bins, facing errors
我有 df['freq']
,这是一个存储为 ['0.0','0.3','0.9]
的数字列表。
我的任务是将它们分为 30 个箱子(来自 0.0, 0.1,0.2...... till 3.
0)
我已经用ravel函数压平了
制作了一个 new_list 用于将这些字符串存储为 float
def binning_function(col,cut_points,labels=None):
minval = 0.0
maxval = 3.0
break_points = [minval] + cut_points + [maxval]
print(break_points)
if not labels:
labels = range(len(cut_points) + 1)
colbin = pd.cut(col,bins=break_points, labels=labels,include_lowest = True )
return colbin
请参考这段代码:
错误是
'<' not supported between instances of 'float' and 'list'
您正在附加列表 x_elem 而不是每个值。结果,程序正在比较一个列表和一个不允许的数字。因此,通过修改 for 循环来追加每个值。
for x_elem in range(len(flat)):
x_elem = df_ft['freq'].iloc[_].strip("[]").split(", ")
x_elem = list2float(x_elem)
for elem in x_elem:
new_list.append(elem)
我有 df['freq']
,这是一个存储为 ['0.0','0.3','0.9]
的数字列表。
我的任务是将它们分为 30 个箱子(来自 0.0, 0.1,0.2...... till 3.
0)
我已经用ravel函数压平了
制作了一个 new_list 用于将这些字符串存储为 float
def binning_function(col,cut_points,labels=None): minval = 0.0 maxval = 3.0 break_points = [minval] + cut_points + [maxval] print(break_points) if not labels: labels = range(len(cut_points) + 1) colbin = pd.cut(col,bins=break_points, labels=labels,include_lowest = True ) return colbin
请参考这段代码:
错误是
'<' not supported between instances of 'float' and 'list'
您正在附加列表 x_elem 而不是每个值。结果,程序正在比较一个列表和一个不允许的数字。因此,通过修改 for 循环来追加每个值。
for x_elem in range(len(flat)):
x_elem = df_ft['freq'].iloc[_].strip("[]").split(", ")
x_elem = list2float(x_elem)
for elem in x_elem:
new_list.append(elem)