我在创建一个函数时遇到了一个问题,该函数将识别列中的某个特定值是否介于两个值之间。你知道吗
def bid(x):
if df['tla'] < 85000:
return 1
elif (df['tla'] >= 85000) & (df['tla'] < 110000):
return 2
elif (df['tla'] >= 111000) & (df['tla'] < 126000):
return 3
elif (df['tla'] >= 126000) & (df['tla'] < 150000):
return 4
elif (df['tla'] >= 150000) & (df['tla'] < 175000):
return 5
elif (df['tla'] >= 175000) & (df['tla'] < 200000):
return 6
elif (df['tla'] >= 200000) & (df['tla'] < 250000):
return 7
elif (df['tla'] >= 250000) & (df['tla'] < 300000):
return 8
elif (df['tla'] >= 300000) & (df['tla'] < 375000):
return 9
elif (df['tla'] >= 375000) & (df['tla'] < 453100):
return 10
elif df['tla'] >= 453100:
return 11
我将其应用于我的新专栏:
df['bid_bucket'] = df['bid_bucket'].apply(bid)
我得到了这个错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
有人有什么想法吗?你知道吗
这已经可以通过
pd.cut
、定义箱子边缘以及向标签添加+1来实现,从而使编号从1开始。你知道吗输出:
df
使用
numpy.select
尝试以下操作您只需使用数字化函数指定范围
示例
输出:
你知道吗
你知道吗
相关问题 更多 >
编程相关推荐