Pandas 筛选特定年份的数据行
在本文中,我们将介绍如何使用Pandas对数据框中的行进行筛选,以从中提取特定年份的数据。我们将使用Python的Pandas库来完成这个任务。
假设我们有一个数据框(DataFrame)如下:
Name | Age | Gender | Year |
---|---|---|---|
Amy | 20 | Female | 2020 |
Bob | 25 | Male | 2019 |
Carl | 30 | Male | 2021 |
Dave | 22 | Male | 2018 |
Eve | 27 | Female | 2020 |
我们想要筛选出所有Year为2020年的数据行。
我们可以使用Pandas的loc(location)方法来实现我们的目标。loc方法允许我们基于行标签和列标签来访问特定的数据。在我们的例子中,行标签是数据框的索引,而列标签是Name、Age、Gender和Year。
让我们看一下如何使用loc方法来筛选Year为2020年的数据行。我们将使用如下代码:
运行上面的代码,我们将获得下面的结果:
Name | Age | Gender | Year |
---|---|---|---|
Amy | 20 | Female | 2020 |
Eve | 27 | Female | 2020 |
我们可以看到,我们成功地筛选出了Year为2020年的数据行。
在上面的代码中,我们首先使用Pandas的read_csv方法来读取一个名为data.csv的CSV文件,该文件包含了我们要筛选的数据。我们将这个数据框存储在变量df中。
然后,我们使用loc方法在df数据框中选择了Year列的值为2020的行。我们将筛选结果存储在一个新的数据框df_filtered中。
最后,我们使用print方法来打印df_filtered数据框,以查看我们的筛选结果。
在实际的数据分析中,我们经常需要同时使用多个条件来筛选数据。Pandas提供了许多方法来实现筛选,例如:
- 使用多个条件:
df.loc[(df['Year'] == 2020) & (df['Gender'] == 'Female')]
- 使用“或”条件:
df.loc[(df['Year'] == 2020) | (df['Year'] == 2019)]
- 使用“不等于”条件:
df.loc[df['Year'] != 2018]
我们可以根据实际情况选择适当的方法来完成我们的任务。
阅读更多:Pandas 教程
总结
本文介绍了如何使用Pandas筛选数据框中的特定年份的数据行。我们使用了Pandas的loc方法来实现筛选,并演示了如何使用多个条件和“或”条件来筛选数据。通过这篇文章的学习,我们可以更加熟练地使用Pandas来处理数据。