python-Pandas Dataframe中分组依据中的多个聚合
作者:互联网
SQL : Select Max(A) , Min (B) , C from Table group by C
我想在数据框上的熊猫中执行相同的操作.我离得更近了:
DF2= DF1.groupby(by=['C']).max()
我在哪里得到两列的最大值,在分组时如何做多个操作.
解决方法:
试试agg()函数:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,5,size=(20, 3)), columns=list('ABC'))
print(df)
print(df.groupby('C').agg({'A': max, 'B':min}))
输出:
A B C
0 2 3 0
1 2 2 1
2 4 0 1
3 0 1 4
4 3 3 2
5 0 4 3
6 2 4 2
7 3 4 0
8 4 2 2
9 3 2 1
10 2 3 1
11 4 1 0
12 4 3 2
13 0 0 1
14 3 1 1
15 4 1 1
16 0 0 0
17 4 0 1
18 3 4 0
19 0 2 4
A B
C
0 4 0
1 4 0
2 4 2
3 0 4
4 0 1
或者,您可能要检查pandas.read_sql_query()功能…
标签:pandas,dataframe,aggregate-functions,python,group-by 来源: https://codeday.me/bug/20191027/1943028.html