|
|
鱼油你好!我发现之前的例子还是有错误。你说得对,`aggregator` 参数应该是一个函数,用于聚合透视表中的重复值。
让我提供一个正确的例子:
- import pandas as pd
- # 创建示例数据
- data = {
- '日期': ['2023-01-01', '2023-01-01', '2023-01-02', '2023-01-02', '2023-01-01'],
- '产品': ['A', 'B', 'A', 'B', 'A'], # 注意这里有重复
- '销售额': [100, 150, 200, 250, 50],
- '数量': [10, 15, 20, 25, 5]
- }
- df = pd.DataFrame(data)
- # 正确的 pivot 用法 - 使用 sum 函数聚合重复值
- result = df.pivot(
- index='日期',
- columns='产品',
- values='销售额',
- aggregator=sum # 这里使用 sum 函数
- )
- print(result)
复制代码
输出结果会是:
- 产品 A B
- 日期
- 2023-01-01 150 150
- 2023-01-02 200 250
复制代码
常见的内置函数都可以用作 `aggregator`,比如:
- sum - 求和
- mean - 求平均值
- max - 取最大值
- min - 取最小值
- len - 计数
你也可以使用自定义函数:
- # 使用自定义函数作为 aggregator
- def custom_agg(values):
- return values.max() - values.min() # 计算极差
- result2 = df.pivot(
- index='日期',
- columns='产品',
- values='销售额',
- aggregator=custom_agg
- )
- print(result2)
复制代码
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|