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

如何在Julia DataFrame中实现分组价格四分位数计算与排名

Julia 按产品分组计算四分位数与价格排名实现方案

依赖安装导入

using Pkg
# 安装所需依赖包,已安装可跳过此步
Pkg.add(["DataFrames", "Statistics"])
using DataFrames, Statistics

核心实现代码

假设原始数据存储在df变量中,执行以下代码即可得到目标结果:

# 按产品分组后计算统计量,广播到组内每一行
result_df = transform(
    groupby(df, :Product),
    :Price => (p -> quantile(p, 0.25)) => :Quartil_1,
    :Price => (p -> quantile(p, 0.5)) => :Quartil_2,
    :Price => (p -> quantile(p, 0.75)) => :Quartil_3,
    :Price => (p -> quantile(p, 1.0)) => :Quartil_4,
    :Price => (p -> denserank(p)) => :Rank_Price
)

说明

  • 代码自动适配多产品场景,按Product字段独立分组计算,不会跨产品混淆统计结果
  • 四分位数计算使用标准库quantile方法,如果你需要和Python的计算结果完全对齐,可以调整quantile的alpha、beta参数匹配对应分位数计算规则
  • 排名默认采用升序密集排名,价格越低排名数值越小,和示例逻辑一致;如果需要价格越高排名越靠前,将最后一行的denserank(p)修改为denserank(-p)即可
  • 可替换denserank为rank函数,调整参数即可实现其他排名规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:54:04