我有一个价格值的数字数组。我想对这个参数进行分类,所以我想创建一定数量的具有相同粒度的类。我想创建一个通用函数,给定数组和类数,我希望它自动返回这些类的价格区间。目前这是我的价格属性:
df_cleaned.price.describe()
>>>
count 122668.000000
mean 11253.349594
std 7856.513917
min 1010.000000
25% 4995.000000
50% 8995.000000
75% 15965.000000
max 34991.000000
Name: price, dtype: float64
我手动创建了一个函数来创建 6 个类,它看起来像这样:
def normalize_price(df):
cond = [
(df['price'] >= 1000) & (df['price'] <= 4999),
(df['price'] >= 5000) & (df['price'] <= 8999),
(df['price'] >= 9000) & (df['price'] <= 15999),
(df['price'] >= 16000) & (df['price'] <= 24999),
(df['price'] >= 25000) & (df['price'] <= 34000),
(df['price'] >= 34001) & (df['price'] <= 40000)
]
choice = [
1000,
5000,
9000,
16000,
25000,
35000,
]
df['price'] = np.select(cond, choice, df['price'])
return df
谁能帮我即兴发挥这个功能?请谢谢

