Solución:
Necesitas agg
por dictionary
y luego rename
nombres de columnas:
d = {'Missed':'Sum1', 'Credit':'Sum2','Grade':'Average'}
df=df.groupby('Name').agg({'Missed':'sum', 'Credit':'sum','Grade':'mean'}).rename(columns=d)
print (df)
Sum1 Sum2 Average
Name
A 2 4 11
B 3 5 15
Si lo desea, también cree una columna desde Name
:
df = (df.groupby('Name', as_index=False)
.agg({'Missed':'sum', 'Credit':'sum','Grade':'mean'})
.rename(columns={'Missed':'Sum1', 'Credit':'Sum2','Grade':'Average'}))
print (df)
Name Sum1 Sum2 Average
0 A 2 4 11
1 B 3 5 15
Solución con agregaciones con nombre:
df = df.groupby('Name', as_index=False).agg(Sum1=('Missed','sum'),
Sum2= ('Credit','sum'),
Average=('Grade','mean'))
print (df)
Name Sum1 Sum2 Average
0 A 2 4 11
1 B 3 5 15
A = pd.DataFrame.from_dict({'Name':['A','A','B','B'],'Missed':[1,1,2,1],'Credit':[3,1,3,2],'Grades':[10,12,10,20]})
A.groupby('Name').agg({'Missed':'sum','Credit':'sum','Grades':'mean'})
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)