如何用qcut()确定上四分位区间的最小实际年龄值?
获取qcut等数量分箱内的实际最小年龄值
针对需求,这里提供两种直接的实现方式:
方法一:分组统计最小值
先给原DataFrame添加分箱标签列,再通过分组计算每个分箱的实际最小年龄:
import pandas as pd df = pd.DataFrame({ 'age': [2, 4, 6, 8, 10, 12, 14, 16] }) # 生成分箱列并添加到DataFrame df['age_bin'] = pd.qcut(df['age'], 4) # 按分箱分组,提取每个分箱的最小年龄值 bin_min_ages = df.groupby('age_bin')['age'].min() # 取第4个(最后一个)分箱的最小值 fourth_bin_min = bin_min_ages.iloc[-1] print(fourth_bin_min) # 输出:14
方法二:通过分箱编码筛选数据
利用qcut返回的分类结果编码,直接筛选目标分箱的原始数据后取最小值:
import pandas as pd df = pd.DataFrame({ 'age': [2, 4, 6, 8, 10, 12, 14, 16] }) # 执行qcut并获取分箱结果和边界 result, bins = pd.qcut(df['age'], 4, retbins=True) # 第4个分箱对应的编码是3(分类编码从0开始计数),筛选出对应数据 fourth_bin_data = df['age'][result.cat.codes == 3] # 计算该分箱的最小年龄值 fourth_bin_min = fourth_bin_data.min() print(fourth_bin_min) # 输出:14
内容的提问来源于stack exchange,提问作者enter_display_name_here
相关产品推荐
相关产品推荐

