首页 > 解决方案 > 数据框中值子集的平均值

问题描述

我有一个包含 3 列的数据框

Date    Col 2     Col 3
10/1/19    C1        0.5
10/1/19    C2        0.3
10/1/19    C3        0.2
10/1/19    C1        0.5
10/1/19    C2        0.3 
10/1/19    C3        0.2
10/2/19    C1        0.5
10/2/19    C2        0.3
10/2/19    C3        0.2
10/2/19    C1        0.5
10/2/19    C2        0.3 
10/2/19    C3        0.2
...
12/13/19   C3        0.5

我想用 Col 3 的平均值计算 Col 2 中每个唯一值的平均值。

例如,

Date       Col 2       Col3 (Avg)
10/1/19       C1         0.2
10/1/19       C2         0.4
10/1/19       C3         0.3
10/2/19       C1         0.2
10/2/19       C2         0.1
...

我是 python 新手,曾尝试在 Pandas 中执行此操作,但我无法弄清楚。任何帮助表示赞赏。我能够得到整个列的平均值,但不能得到子集。

标签: pythonpandasaverage

解决方案


你想要GroupBy.mean

df.groupby(['Date', 'Col 2'], as_index=False)['Col 3'].mean()

    Date   Col 2  Col 3
0  10/1/19   C1   0.5
1  10/1/19   C2   0.3
2  10/1/19   C3   0.2
3  10/2/19   C1   0.5
4  10/2/19   C2   0.3
5  10/2/19   C3   0.2

推荐阅读