如何在时间范围内按日期和时间提取数据

2024-05-07 05:54:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试按日期和时间提取特定时间范围内的所有行(例如,从2021年5月24日12:50到2021年7月24日21:00之间)。我使用的数据如下所示:

enter image description here

我现在掌握的代码是:

import pandas as pd

df = pd.read_csv(r"C:\Users\OneDrive\Desktop\entries-88339.csv") #to read a CSV
print(df) #print original data
df.head()

df_rename = df.rename(columns = {'DATE': 'ENTRY DATE'}) #ENTRY DATE = DATE column
print(df_rename)


df_date = df_rename[(df_rename['ENTRY DATE'] <= '05-26-21') & (df_rename['ENTRY DATE'] > '05-03-21')] #date timeframe
print(df_date)

path = '/Users/Desktop' #for exporting to new csv
new_file = 'New_file.csv'
df_date.to_csv(new_file, index = False) #index = False is no index to csv


1条回答
网友
1楼 · 发布于 2024-05-07 05:54:44

玩具示例

输入Df

    EntryDate           Values
0   2021-05-21 16:31:00 1
1   2021-05-24 12:51:00 2
2   2021-06-21 16:31:00 3
3   2021-07-24 12:51:00 4
4   2021-07-24 22:31:00 5

代码

df.EntryDate = pd.to_datetime(df.EntryDate, format='%m/%d/%Y %H:%M')

start_date = '05-24-2021 12:50'
end_date = '07-24-2021 21:00'
mask = (df['EntryDate'] > start_date) & (df['EntryDate'] <= end_date)
df.loc[mask]

输出

    EntryDate           Values
1   2021-05-24 12:51:00 2
2   2021-06-21 16:31:00 3
3   2021-07-24 12:51:00 4

相关问题 更多 >