数据框中值子集的平均值
Average of Subset of Values in a Dataframe
我有一个包含 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
我想用第 3 列的平均值计算每天第 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 中这样做,但我无法弄清楚。任何帮助表示赞赏。我能够得到整列的平均值,但不能得到子集。
你想要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
我有一个包含 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
我想用第 3 列的平均值计算每天第 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 中这样做,但我无法弄清楚。任何帮助表示赞赏。我能够得到整列的平均值,但不能得到子集。
你想要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