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

Pandas DataFrame如何统计指定列同值索引占总索引的百分比

Pandas 实现方案

默认你使用Python Pandas库处理DataFrame,可按以下步骤实现:

1. 确定统计基准总索引数

根据你的统计口径选择对应总基数:

  • 口径为原始master主DataFrame总索引数(含已剔除的索引):提前记录原始总长度,再加上你已统计的剔除索引数量即可
    # 原始master总长度
    total_original = len(master.index)
    # 若需要把整理过程剔除的索引纳入总基数
    total_base = total_original + dropped_count  # dropped_count为你已得到的剔除索引数量
    
  • 口径为当前待计算的单个拆分后DataFrame的总索引数:直接取当前df的长度
    total_base = len(target_df.index)
    

2. 统计X列指定取值的匹配索引数

单值统计

如果只需要统计X列取值等于某个指定值的索引数量,用布尔索引求和即可,性能优于生成子DataFrame:

target_value = "你要匹配的X列取值"
match_count = (target_df["X"] == target_value).sum()

全值批量统计

如果需要一次性得到X列所有不同取值的对应占比,直接调用value_counts方法即可:

# normalize=True直接返回占比,乘100转百分比,保留2位小数
x_value_percentage = target_df["X"].value_counts(normalize=True).mul(100).round(2)
# 输出格式示例:取值A    35.22  取值B   24.18 ...

3. 计算百分比

单值统计的百分比计算公式如下,可根据需要调整保留的小数位数:

percentage = round((match_count / total_base) * 100, 2)
# 如需加上百分号可格式化输出
print(f"占比为:{percentage}%")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:36:04