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

如何对DataFrame数值列按区间分类并新增列存储分类结果?

心率数据分箱简化实现方案

最优方案:使用pandas内置pd.cut()分箱

这是最推荐的实现方式,属于pandas原生向量化操作,执行效率远高于循环,代码量极少,且完全匹配你原有分箱规则:

import pandas as pd

# 生成分箱边界,对应你需要的10/20/.../280节点
bins = list(range(10, 290, 10))
# 生成对应区间的标签文本
labels = [f"{bins[i]}-{bins[i+1]}" for i in range(len(bins)-1)]

# right=True表示分箱规则为左开右闭,和你原有 >左边界 & <=右边界 的规则完全一致
# fillna('') 是为了匹配你原有逻辑,将<=10的心率对应的分类设为空字符串
HR_df1['HRCat'] = pd.cut(HR_df1['HR'], bins=bins, labels=labels, right=True).fillna('')

可选方案:循环实现

如果你需要用循环实现,也可以通过遍历区间边界的方式大幅简化代码,无需手动编写每个区间的判断逻辑:

HR_df1['HRCat'] = ''
# 遍历每个区间的左边界,步长为10
for lower_bound in range(10, 271, 10):
    upper_bound = lower_bound + 10
    HR_df1.loc[(HR_df1['HR'] > lower_bound) & (HR_df1['HR'] <= upper_bound), 'HRCat'] = f"{lower_bound}-{upper_bound}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:45:02