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

Pandas统计另一DataFrame指定区间人数及占比填充目标表

解决方案

直接运行以下pandas代码即可完成区间人数统计和占比计算,输出结果和预期完全匹配:

import pandas as pd

# 提取年龄序列、计算总样本量
age_col = df_ages["Age"]
total = len(age_col)

# 统计每个闭区间[Min, Max]内的年龄总数
df_count["counts"] = df_count.apply(
    lambda row: age_col.between(row["Min"], row["Max"], inclusive="both").sum(),
    axis=1
)

# 计算百分比,保留1位小数
df_count["percentage"] = (df_count["counts"] / total * 100).round(1)

大数据量优化

如果你的数据集量级在10万行以上,逐行apply的运行效率较低,可以换用pandas内置分箱函数pd.cut实现,性能提升明显:

# 构造不重叠的分箱边界
bin_edges = sorted(set(df_count["Min"].tolist() + (df_count["Max"] + 1).tolist()))
# 分箱计数
count_result = pd.cut(
    age_col,
    bins=bin_edges,
    right=False,
    include_lowest=True
).value_counts().sort_index()

df_count["counts"] = count_result.values
df_count["percentage"] = (df_count["counts"] / total * 100).round(1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:54:38