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

如何在Pandas DataFrame中按多条件(含或/且)生成定制透视表

Pandas定制化透视表+多条件筛选解决方案

示例输入数据

假设你的原始数据结构如下(可替换为实际业务数据):

import pandas as pd
import numpy as np

data = {
    '部门': ['销售', '销售', '研发', '研发', '行政', '行政'],
    '职级': ['初级', '高级', '初级', '高级', '初级', '高级'],
    '性别': ['男', '女', '男', '女', '男', '女'],
    '薪资': [8000, 15000, 9000, 18000, 7500, 12000],
    '绩效评分': [85, 92, 88, 95, 82, 89]
}
df = pd.DataFrame(data)

1. 实现AND/OR多条件筛选

直接用布尔索引搞定,注意逻辑运算符用&(AND)、|(OR),每个条件必须加括号:

  • AND逻辑:同时满足多个条件
    # 筛选:销售部门 AND 高级职级
    filter_and = (df['部门'] == '销售') & (df['职级'] == '高级')
    df_filtered_and = df[filter_and]
    
  • OR逻辑:满足任意一个条件
    # 筛选:销售部门 OR 高级职级
    filter_or = (df['部门'] == '销售') | (df['职级'] == '高级')
    df_filtered_or = df[filter_or]
    
  • 嵌套复杂逻辑:混合AND/OR的组合条件
    # 筛选:(销售部门且薪资超1万) 或者 (研发部门且绩效超90)
    filter_complex = ((df['部门'] == '销售') & (df['薪资'] > 10000)) | ((df['部门'] == '研发') & (df['绩效评分'] > 90))
    df_complex = df[filter_complex]
    

2. 生成定制化透视表

用pd.pivot_table()可以灵活指定分组维度、计算字段、统计方法,支持同时计算均值、中位数等多种指标:

示例1:筛选后按部门+职级分组,计算薪资的均值/中位数、绩效的均值

# 先应用OR筛选
df_filtered = df[(df['部门'] == '销售') | (df['职级'] == '高级')]

pivot_table = pd.pivot_table(
    df_filtered,
    index=['部门', '职级'],  # 行分组维度
    values=['薪资', '绩效评分'],  # 要计算的字段
    aggfunc={
        '薪资': ['mean', 'median'],  # 薪资同时算均值和中位数
        '绩效评分': 'mean'  # 绩效只算均值
    },
    margins=True,  # 显示总计行
    margins_name='总计'
)

print(pivot_table)

示例2:AND筛选后按性别分组,计算薪资的多维度统计

df_filtered_and = df[(df['部门'] == '研发') & (df['绩效评分'] > 90)]

pivot_table_and = pd.pivot_table(
    df_filtered_and,
    index='性别',
    values='薪资',
    aggfunc=['mean', 'median', 'max', 'min'],  # 同时计算均值、中位数、最大最小值
    fill_value=0  # 空值填充为0
)

print(pivot_table_and)

示例3:自定义聚合函数

如果需要默认没有的统计值(比如90分位数),可以自定义函数传入:

# 自定义函数:计算90分位数
def q90(x):
    return x.quantile(0.9)

pivot_custom = pd.pivot_table(
    df,
    index='部门',
    values='薪资',
    aggfunc=['mean', q90]  # 同时计算均值和90分位数
)

print(pivot_custom)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:33:24