You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何按每n个数值对列分组并生成新的分组标签列

Pandas按固定间隔对价格列自动分组方案

使用Pandas内置的pd.cut()方法即可实现无手动条件的自动区间分组,具体实现逻辑如下:


完整实现代码

import pandas as pd

# 1. 示例数据,可替换为你自己的数据集
df = pd.DataFrame({
    'Product': ['A', 'B', 'C', 'D', 'E', 'F'],
    'Price': [3, 7, 12, 9, 16, 22]
})

# 2. 自定义分组间隔
n = 5

# 3. 自动生成区间边界:适配当前数据的价格范围
min_bound = (df['Price'].min() // n) * n
max_bound = ((df['Price'].max() // n) + 1) * n
bins = list(range(int(min_bound), int(max_bound) + n, n))

# 4. 生成符合要求的分组标签
labels = [f'${bins[i]}-${bins[i+1]}' for i in range(len(bins)-1)]

# 5. 生成分组列
df['Price_Group'] = pd.cut(
    x = df['Price'],
    bins = bins,
    labels = labels,
    include_lowest = True,
    right = False # 左闭右开,即$5-$10对应价格≥5且<10,匹配你的示例逻辑
)

参数说明

  • 如果不需要适配当前数据的价格范围,想固定区间起始/结束值,直接手动定义bins即可,例如要从0开始到100结束,间隔为5,可以直接写 bins = list(range(0, 105, 5))
  • 如果需要区间逻辑为左开右闭(即$5-$10对应价格>5且≤10),把right参数改为True即可

内容的提问来源于stack exchange,提问作者Nathes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:36:04