如何在一个时间范围内按日期和时间提取数据 - Python Pandas CSV

1 人关注

我试图按日期和时间提取某一时间范围内的所有行(例如,在05/24/2021 12:50和07/24/2021 21:00之间。我所使用的数据如下所示。

我现在的代码是。

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
    
2 个评论
nay
你的问题是什么,你遇到了什么错误?
我在 df_date = df_rename[(df_rename['ENTRY DATE'] <= '05-26-21') & (df_rename['ENTRY DATE'] > '05-03-21')] #date timeframe print(df_date) 上得到一个错误。
python
pandas
database
dataframe
csv
Dana7371
Dana7371
发布于 2021-07-14
1 个回答
Utsav
Utsav
发布于 2021-07-14
已采纳
0 人赞同

Input 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]

Output