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

如何生成按Student与CourseType分组的Units求和双向汇总表?

按Student与CourseType分组汇总Units求和的简便实现方法

Excel 操作步骤

  • 选中包含Student、CourseType、Units三列的数据区域
  • 点击「插入」选项卡中的数据透视表
  • 在数据透视表字段设置中:
    • 将Student拖到「行」区域
    • 将CourseType拖到「列」区域
    • 将Units拖到「值」区域,设置值汇总方式为「求和」
  • 调整格式即可得到与示例一致的双向汇总表

Python(Pandas库)实现

使用pivot_table方法快速生成:

import pandas as pd

# 示例数据(替换为你的实际数据)
df = pd.DataFrame({
    'Student': ['Student A', 'Student A', 'Student A', 'Student B', 'Student B', 'Student C', 'Student C'],
    'CourseType': ['Required', 'Elective', 'Internship', 'Required', 'Elective', 'Required', 'Elective'],
    'Units': [90, 16, 24, 47, 4, 72, 12]
})

# 生成双向汇总表,缺失组合填充0
pivot_df = df.pivot_table(
    index='Student',
    columns='CourseType',
    values='Units',
    aggfunc='sum',
    fill_value=0
)
print(pivot_df)

R语言实现

方法1:基础包xtabs

# 示例数据(替换为你的实际数据)
df <- data.frame(
    Student = c("Student A", "Student A", "Student A", "Student B", "Student B", "Student C", "Student C"),
    CourseType = c("Required", "Elective", "Internship", "Required", "Elective", "Required", "Elective"),
    Units = c(90, 16, 24, 47, 4, 72, 12)
)

# 生成交叉汇总表并填充缺失值为0
result <- xtabs(Units ~ Student + CourseType, data = df)
result <- as.data.frame.matrix(result)
result[is.na(result)] <- 0
print(result)

方法2:tidyverse包(更简洁)

library(tidyverse)

df %>%
    pivot_wider(
        names_from = CourseType,
        values_from = Units,
        values_fill = 0,
        values_fn = sum
    )

内容的提问来源于stack exchange,提问作者Dr. Sarah C.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:04:56