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

如何使用pandas.pivot_table统计status字段的数值计数?

用pandas.pivot_table统计status字段的数值计数

别担心,这事儿用pivot_table很容易搞定,我给你举个具体的例子一步步来:

首先,咱们先模拟一份常见的样本数据(和你可能用到的结构类似):

import pandas as pd

# 构造样本DataFrame
df = pd.DataFrame({
    'user_id': [101, 102, 103, 104, 105, 106, 107],
    'status': ['success', 'failed', 'success', 'success', 'failed', 'pending', 'success'],
    'operation': ['login', 'payment', 'login', 'signup', 'payment', 'login', 'signup']
})

接下来就是核心的pivot_table用法,关键抓三个参数:

  • index='status':指定按status字段分组
  • values:选任意一个不会有缺失值的字段就行(比如这里的user_id),因为计数只需要统计行数
  • aggfunc='count':指定聚合方式为计数

代码如下:

# 生成status计数的透视表
status_count_table = pd.pivot_table(
    df,
    index='status',
    values='user_id',
    aggfunc='count'
)

# 把列名改成更直观的'count'
status_count_table.rename(columns={'user_id': 'count'}, inplace=True)

运行后你会得到预期的结果:

count
status          
failed         2
pending        1
success        4

额外补充两个小技巧:

  • 如果你的数据里status可能有缺失值,count会自动忽略这些行,如果你想把缺失值也统计进去,可以先给status填充默认值(比如df['status'].fillna('unknown', inplace=True))
  • 除了'count',你也可以用aggfunc=len,效果完全一样,比如:
    status_count_table = pd.pivot_table(df, index='status', values='user_id', aggfunc=len)
    

这样就能完美实现你要的status字段数值计数统计啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:30:01