如何在Pandas中基于日期过滤数据框架行

如何在Pandas中基于日期过滤数据框架行

通过日期过滤DataFrame的行,可以根据包含日期数据的列,选择满足指定日期约束的所有行。例如,选择2020年3月13日和2020年12月31日之间的所有行,将返回所有具有该范围内的日期值的行。

使用DataFrame.loc()的索引语法[condition]从DataFrame中只选择满足条件的行。定义条件来检查DataFrame中的日期列是否在限制范围内。它将为所有行创建一个布尔数组。只有具有真值的行才会被打印出来。

请参考下面的例子。从这里下载数据框架。

步骤:

  • 将数据列转换成Python支持的日期格式
  • 根据日期过滤行
  • 使用.loc()函数访问行并将其存储在数据框中。

示例 1:

# import pandas library
import pandas as pd
  
# load csv file
df = pd.read_csv(
    "C:\\Users\\Rohan\\OneDrive\\Desktop\\GFG\\netflix_titles.csv")
  
# convert date column into date format
df['date_added'] = pd.to_datetime(df['date_added'])
  
# filter rows on the basis of date
newdf = (df['date_added'] > '01-03-2020') & (df['date_added'] <= '31-12-2020')
  
# locate rows and access them using .loc() function
newdf = df.loc[newdf]
  
# print dataframe
print(newdf)
Python

输出:

如何在Pandas中基于日期过滤数据框架行?

所有在2020年3月13日和2020年12月31日之间的电影将被打印出来。

示例 2:

# import pandas library
import pandas as pd
  
# load csv file
df = pd.read_csv(
    "C:\\Users\\Rohan\\OneDrive\\Desktop\\GFG\\netflix_titles.csv")
  
# convert date column into date format
df['date_added'] = pd.to_datetime(df['date_added'])
  
# filter rows on the basis of date
newdf = (df['date_added'] > '01-01-2019') & (df['date_added'] <= '31-12-2019')
  
# locate rows and access them using .loc() function
newdf = df.loc[newdf]
  
# print dataframe
print(newdf)
Python

输出:

如何在Pandas中基于日期过滤数据框架行?

上述输出打印了2019年Netflix上增加的所有电影。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程