Pandas 筛选特定年份的数据行

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年的数据行。我们将使用如下代码:

import pandas as pd

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

# 使用loc方法按照Year筛选数据
df_filtered = df.loc[df['Year'] == 2020]

print(df_filtered)
Python

运行上面的代码,我们将获得下面的结果:

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来处理数据。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册