我有一个数据数据(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,在每次迭代时创建一个数据,分别提取我想要的统计数据,输出到一个列表中,转置并追加所有,但我想有一个更简单的方法。有什么想法吗?
发布于 2019-12-13 04:22:00
你可以试试这个,
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) })https://stackoverflow.com/questions/59315915
复制相似问题