假设您有以下SQL表格:
在SQL中如何实现呢?可以避免使用JOIN吗?
A B C
2 1 4
3 4 5
3 1 1
1 4 0
5 0 1
您想要添加/显示一列,其中包含每个不同值的列A的平均值(或任何其他聚合函数)的列B。您希望保留所有列。因此,结果应如下所示:
A B C avg(A)|B
2 1 4 2.5
3 4 5 2.0
3 1 1 2.5
1 4 0 2.0
5 0 1 5.0
据我所知,在pandas中最好的方法是:
>>> df['avg(A)|B'] = df.groupby('B')['A'].transform('mean')
>>> df
A B C avg(A)|B
0 2 1 4 2.5
1 3 4 5 2.0
2 3 1 1 2.5
3 1 4 0 2.0
4 5 0 1 5.0
在SQL中如何实现呢?可以避免使用JOIN吗?