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

Pandas如何判断列中是否存在指定词并将缺失状态纳入统计生成新DataFrame

Pandas 缺失状态计数补全实现方案

核心逻辑

预先定义你需要统计的所有目标状态列表,统计原始数据计数后补全缺失状态的0值即可,以下是两种常用实现方法:


方法1:value_counts + reindex(单次统计首选)

代码实现步骤:

import pandas as pd

# 1. 示例原始数据(实际替换为你的数据集即可)
df = pd.DataFrame({
    'status': ['In Progress', 'Done', 'Done', 'In Progress', 'Review']
})

# 2. 定义需要统计的所有状态,按你期望的输出顺序排列
full_status = ['Backlog', 'On hold', 'In Progress', 'Review', 'Done']

# 3. 统计+补全缺失状态,缺失值填充为0
status_count = df['status'].value_counts().reindex(full_status, fill_value=0).reset_index()

# 4. 重命名列(可选,按需调整)
status_count.columns = ['status', 'count']

方法2:Categorical 类型转换(适合多场景状态操作)

如果后续还要基于状态做分组、排序、可视化等操作,推荐先把状态列转为固定分类的Categorical类型,后续所有统计都会自动保留全量状态:

# 沿用上面的df和full_status变量
# 1. 将状态列转为指定全部分类的Categorical类型
df['status'] = pd.Categorical(df['status'], categories=full_status)

# 2. 直接统计即可自动包含所有分类,缺失状态计数为0
status_count = df['status'].value_counts().sort_index().reset_index()
status_count.columns = ['status', 'count']

两种方法最终输出的统计表格式一致,示例如下:

序号statuscount
0Backlog0
1On hold0
2In Progress2
3Review1
4Done2

你可以根据自己的使用场景选择合适的方案,全量状态列表可按需自由调整增删

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:12:02