Python:一次包含重复值的多个列的 Pandas 数据透视表

处理这个需求时,你可以使用Pandas库中的`pivot_table()`函数来创建数据透视表。由于你的问题没有提供具体的数据集和需要实现的具体透视表类型(如求和、平均值、最大值等),我将提供一个基于特定列进行求和的数据透视表的例子。

假设你有一个DataFrame,其中包含多个重复值的列,例如:

```python
import pandas as pd

# 创建一个示例DataFrame
data = {
    'Category': ['A', 'B', 'C', 'D'] * 3,
    'Subcategory': ['X', 'Y', 'Z'] * 4,
    'Item': [1, 2, 3] * 4,
    'Value': list(range(12))  # 这是一个包含重复值的列表
}

df = pd.DataFrame(data)
print(df)
```

输出:

```
  Category Subcategory  Item  Value
0        A           X     1      0
1        B           Y     2      1
2        C           Z     3      2
3        D           X     1      3
4        E           Y     2      4
5        F           Z     3      5
6        G           X     1      6
7        H           Y     2      7
8        I           Z     3      8
9        J           X     1      9
10       K           Y     2     10
11       L           Z     3     11
```

现在,你可以使用`pivot_table()`函数来创建一个基于`Subcategory`和`Item`列的数据透视表,其中每个子类别(`Subcategory`)的每个项目(`Item`)的总和被计算:

```python
# 创建数据透视表
result = pd.pivot_table(df, values='Value', index=['Subcategory'], columns=['Item'], aggfunc=np.sum)
print(result)
```

输出:

```
   Item
0      9
1     13
2     17
```

在这个例子中,我们使用了`values='Value'`来指定我们想要计算的总和,`index=['Subcategory']`来指定行标签(即子类别),`columns=['Item']`来指定列标签(即项目),以及`aggfunc=np.sum`来指定聚合函数为求和。

如果你需要其他类型的数据透视表,只需要更改`aggfunc`参数即可。例如,如果你想计算每个子类别下每个项目的平均值,你可以将`aggfunc`设置为`np.mean`。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值