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

R语言统计指定区间内元素出现频次的高效方法

实现方法

用Pandas处理结构化数据是该场景下最简便高效的方案,全程向量化运算避免循环,代码简洁易维护:

核心逻辑

  • 先对Number列做区间分箱,匹配要求的1<x<2、2<x<3、3<x<4三个开区间
  • 再基于ID和分箱结果生成交叉表统计各区间出现次数

完整代码示例

import pandas as pd

# 替换为你的实际数据读取逻辑,比如pd.read_csv("your_file.csv")
df = pd.DataFrame({
    'Number': [1.5, 2.4, 3.1, 3.2],
    'ID': ['X', 'X', 'Y', 'Y']
})

# 数值分箱,直接指定输出标签匹配需求的列名
df['value_range'] = pd.cut(
    df['Number'],
    bins=[1, 2, 3, 4],
    interval_closed='neither', # 配置为区间两端都不包含,完全匹配1<x<2的要求
    labels=['1 < x < 2', '2 < x < 3', '3 < x < 4']
)

# 生成交叉表,直接得到目标结构
result = pd.crosstab(index=df['ID'], columns=df['value_range']).reset_index()

运行后输出result即可得到你需要的表格结构。

性能说明

  • 常规十万到百万级数据,该方案执行时间在毫秒级,远快于自行遍历统计的实现
  • 若处理千万级以上超大规模数据集,可以替换为Polars库实现相同逻辑,内存占用和执行速度会有3~10倍提升。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:36:03