Python – 如何按年对Pandas DataFrame进行分组?

Python – 如何按年对Pandas DataFrame进行分组?

在数据分析中,经常需要对数据进行分组和聚合。Pandas库中的DataFrame可以很方便地进行数据分组和聚合操作。

本文将介绍如何使用Pandas对DataFrame进行按年分组的操作。我们将使用一个有关房价的数据集,以分组每年房价的中位数为例。

更多Pandas相关文章,请阅读:Pandas 教程

准备工作

我们首先需要导入Pandas库和它的DataFrame:

import pandas as pd

df = pd.read_csv('housing.csv')

这里我们使用了一个名为housing.csv的数据集,包含了每个城市的房价、平均收入等信息。你可以在网上搜索到housing.csv数据集并下载它。

导入了数据集之后,我们可以查看前5条数据,确认数据是否正确导入。

print(df.head())

输出结果为:

   Year   City     Value
0  2010  Tokyo  636362.0
1  2010  Seoul  231680.0
2  2010  Delhi  161300.0
3  2010   Sao   65675.0
4  2010   Lima    7513.0

可以看到,housing.csv数据集包含了城市名称、年份和房价三个字段。

按年分组

现在我们要将数据按年分组。这可以通过使用Pandas的groupby()函数来实现。

group_by_year = df.groupby('Year')

这里我们使用了groupby()函数将DataFrame按照’Year’字段分组,并将分组结果储存在一个名为group_by_year的变量中。

现在我们要计算每年房价的中位数。我们可以使用Pandas的median()函数来得到每个组内的中位数,并将结果储存在一个名为median_by_year的变量中。

median_by_year = group_by_year['Value'].median()

这里我们使用了median_by_year()函数计算每个组的中位数,并将结果储存在一个名为median_by_year的变量中。

结果展示

现在我们已经按年分组并计算了每年的房价中位数。我们可以使用Pandas的plot()函数将结果可视化。

median_by_year.plot(kind='bar', title='Median Housing Value by Year')

这里我们使用了plot()函数以柱状图的形式显示每年的中位数,并将标题设置为“Median Housing Value by Year”。

完整代码如下:

import pandas as pd

df = pd.read_csv('housing.csv')

group_by_year = df.groupby('Year')
median_by_year = group_by_year['Value'].median()

median_by_year.plot(kind='bar', title='Median Housing Value by Year')

结论

本文介绍了如何使用Python中的Pandas库对DataFrame进行按年分组的操作,并计算每年房价的中位数并可视化结果。这种分组和聚合的方法在数据分析中非常常用,可以帮助我们更好地理解数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 教程