标签:open 切块 hide int 图片 根据 计算 value 常见
groupby函数
pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作,根据一个或多个键(可以是函数、数组、Series或DataFrame列名)拆分pandas对象,继而计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数。
ipl_data = {‘Team‘: [‘Riders‘, ‘Riders‘, ‘Devils‘, ‘Devils‘, ‘Kings‘, ‘kings‘, ‘Kings‘, ‘Kings‘, ‘Riders‘, ‘Royals‘, ‘Royals‘, ‘Riders‘], ‘Rank‘: [1, 2, 2, 3, 3,4 ,1 ,1,2 , 4,1,2], ‘Year‘: [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017], ‘Points‘:[876,789,863,673,741,812,756,788,694,701,804,690]}
按照Team进行分组,并计算Points列的平均值:我们可以先访问Points,并根据Team调用groupby:
grouped = df[‘Points‘].groupby(df[‘Team‘]) #等价于df[‘Points‘].groupby(df.Team) 以及 df[‘Points‘].groupby(df.Team.values) print(grouped.groups) grouped.mean()
输出:
{‘Devils‘: Int64Index([2, 3], dtype=‘int64‘), ‘Kings‘: Int64Index([4, 6, 7], dtype=‘int64‘), ‘Riders‘: Int64Index([0, 1, 8, 11], dtype=‘int64‘), ‘Royals‘: Int64Index([9, 10], dtype=‘int64‘), ‘kings‘: Int64Index([5], dtype=‘int64‘)} Team Devils 768.000000 Kings 761.666667 Riders 762.250000 Royals 752.500000 kings 812.000000 Name: Points, dtype: float64
说明:数据(Series)根据分组键进行了聚合,产生了一个新的Series,其索引为Team列中的唯一值。
标签:open 切块 hide int 图片 根据 计算 value 常见
原文地址:https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/10678674.html