Pandas Groupby和计算平均值
Pandas是一个建立在NumPy库之上的开源库。它是一个Python包,提供各种数据结构和操作,用于处理数字数据和时间序列。它主要因导入和分析数据更容易而流行。Pandas速度快,它对用户来说具有高性能和生产力。
Groupby是一个相当简单的概念。我们可以创建一个类别的分组,并对这些类别应用一个函数。这是一个简单的概念,但它是一个非常有价值的技术,在数据科学中被广泛使用。它的帮助在于,我们可以:
- 计算每组的汇总统计数据
- 进行特定组别转换
- 做好数据的过滤工作
groupby()涉及分割对象、应用一个函数和合并结果的组合。这可以用来对大量的数据进行分组,并对这些组进行计算操作。
示例 1:
# import required module
import pandas as pd
# create dataframe
df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'],
'Max Speed': [380., 370., 24., 26.]})
# use groupby() to compute mean
df.groupby(['Animal']).mean()
输出
示例 2:
# import required module
import pandas as pd
# assign list
l = [[100, 200, 300], [10, None, 40], [20, 10, 30], [100, 200, 200]]
# create dataframe
df = pd.DataFrame(l, columns=["a", "b", "c", ])
# use groupby() to generate mean
df.groupby(by=["b"]).mean()
输出:
示例 3:
# import required module
import pandas as pd
# assign data
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]}
# create dataframe
df = pd.DataFrame(ipl_data)
# use groupby() to generate mean
df.groupby(['Team']).mean()
输出: