【问题标题】:How to Extract Data by Date and Time within a time frame - Python Pandas CSV如何在时间范围内按日期和时间提取数据 - Python Pandas CSV
【发布时间】:2021-09-22 23:48:49
【问题描述】:

我正在尝试在特定时间范围内按日期和时间提取所有行(例如,在 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

【问题讨论】:

  • 你有什么问题,你遇到了什么错误?
  • df_date = df_rename[(df_rename['ENTRY DATE'] &lt;= '05-26-21') &amp; (df_rename['ENTRY DATE'] &gt; '05-03-21')] #date timeframe print(df_date) 出现错误

标签: python pandas database dataframe csv


【解决方案1】:

玩具示例

输入 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

【讨论】:

  • 您是从哪里获得 df.EntryDate 中的 EntryDate 的?
  • df.EntryDate ?
猜你喜欢
  • 2021-05-09
  • 2017-12-21
  • 2014-10-30
  • 2022-08-02
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
相关资源
最近更新 更多