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

如何对pandas dataframe执行median split中位数拆分并分组

pandas 中位数拆分实现方法

你提供的varb列初始为字符串格式,需要先转为数值类型再做分位数计算,完整实现代码如下:

import pandas as pd
import numpy as np

# 初始化原始数据
df = pd.DataFrame({
    'varb': ['0.56', '0.74', '0.89', '0.99', '0.24', '0.76', '0.60'], 
    'response': ['141', '134', '72', '29', '34', '50', '128'],
})

# 计算varb列中位数(先转浮点型避免字符串比较错误)
varb_median = df['varb'].astype(float).median()
# 生成中位数拆分列:大于等于中位数划分为组2,小于划分为组1,可根据实际需求调整判断逻辑
df['median_split'] = np.where(df['varb'].astype(float) >= varb_median, '2', '1')

print(df)

补充说明

  • 如果你需要和给出的示例结果完全匹配,可以调整判断条件为df['varb'].astype(float) <= 0.7即可,示例中的分组逻辑存在数值排序矛盾,你可以根据实际业务规则调整判断阈值
  • 数据量较大时,np.where的执行效率比apply更高,推荐使用该写法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:45:04