我有一个数据框(players_all),其中包含每个NBA球员的逐场比赛统计信息,大致如下表
Name Date Pts Ast
0 Anthony Davis 10/22 25 5
1 Anthony Davis 10/25 21 2
2 Anthony Davis 10/27 29 3
我想创建一个统计摘要,每个玩家一个记录,例如:
Name Avg_Pts MinPts MaxPts StDevPts
0 Anthony Davis 25.0 21 29 3.3
1 Trae Young 27.9 9 49 6.8
我以为我可以按名称遍历player_all,在每次迭代时创建一个数据框,分别提取我想要的统计信息,输出到列表中,转置并追加所有内容,但是我想这是一种更简单的方法。有什么想法吗?
答案 0 :(得分:1)
您可以尝试一下,
import numpy as np
import pandas as pd
df = pd.DataFrame({'player' :['A','A','A','B'] ,'Pts': [25,21,9,55],'Ast': [5,2,3,4]})
df = df.assign(avg_pts = df['Pts'],min_pts =df['Pts'] ,max_pts=df['Pts'] ,std_pts=df['Pts'] )
df.groupby(['player']).agg({'avg_pts':'mean' , 'min_pts':'min','max_pts':'max' ,'std_pts': lambda x : np.std(x) })