Pandas groupby和计算中位数
Python中的Pandas被称为执行数据分析的最流行和强大的工具。这是因为Pandas的功能非常漂亮,而且能够处理大型数据集的集合和子集。因此,在这篇文章中,我们将研究Pandas Group By功能是如何工作的,并在处理大数据集时节省大量的精力。同时,我们将使用Pandas Group By和Median功能解决实际问题。
Pandas groupby()
pandas中的groupby()方法将数据集分割成多个子集,使计算更加容易。一般来说,groupby()将数据分割开来,应用各种功能,然后为我们组合出结果。让我们举个例子,如果我们有不同国家的酒精消费数据,而我们想按洲进行数据分析,使用pandas中的groupby()方法可以将这个问题减到最小。它将数据按洲划分,并使用median()方法计算出中位数。
语法 :
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=<object object>, observed=False, dropna=True)
例子1:在给定的数据集上找到各大洲酒精消费的中位数。
# import the packages
import pandas as pd
# read Dataset
data = pd.read_csv("drinksbycountry.csv")
data.head()
# perform groupby on continent and find median
# of total_litres_of_pure_alcohol
data.groupby(["continent"])["total_litres_of_pure_alcohol"].median()
# perform groupby on continent and find median
# of wine_serving
data.groupby(["continent"])["wine_servings"].median()
输出 :
纯酒精总升数的中位数
葡萄酒的中位数_服务
例2:在给定的数据集上按年龄找到总人口组的中位数。
# import packages
import pandas as pd
# read Dataset
data = pd.read_csv("WorldPopulationByAge2020.csv")
data.head()
# perform group by AgeGrp and find median
data.groupby(["AgeGrp"])["PopTotal"].median()
输出 :
按年龄分组