gpt4 book ai didi

python - 如何在 python 中使用 Pandas 数据框按特定日期和时间进行过滤

转载 作者:行者123 更新时间:2023-12-05 03:36:25 26 4
gpt4 key购买 nike

我试图在价格图表的 csv 中查找给定时间段内的价格值。我已经使用 pd.to_datetime 函数将 Datetime 列转换为日期时间数据,但是我似乎找不到一种方法可以让我按单独的日期小时和分钟过滤行。典型的行看起来像这样。

Datetime        2021-10-15 19:55:00-04:00
Open 40.15
High 40.2
Low 40.14
Close 40.15
Volume 0
Dividends 0
Stock Splits 0
Name: 939, dtype: object
Empty DataFrame
Columns: [Datetime, Open, High, Low, Close, Volume, Dividends, Stock Splits]
Index: []

到目前为止,这是我的代码

import pandas as pd

data = pd.read_csv("Data\\09-16-21 AMC-5min", parse_dates=["Datetime"])

data["Datetime"] = pd.to_datetime(data['Datetime'])

newData = data[(data.Datetime.day == data.Datetime.day.max()) & data.Datetime.hour == 9 & data.Datetime.minute == 30]

print(newData)

在这个例子中,我试图找到最近一天 9:30 的数据点。当我尝试运行它时,出现以下错误

Traceback (most recent call last):
File "C:\Users\Zach\PycharmProjects\Algotrading\Test.py", line 7, in <module>
newData = data[(data.Datetime.day == data.Datetime.day.max()) & data.Datetime.hour == 9 & data.Datetime.minute == 30]
File "C:\Users\Zach\PycharmProjects\Algotrading\venv\lib\site-packages\pandas\core\generic.py", line 5487, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'Series' object has no attribute 'day'

我不确定如何访问天、小时和分钟的单独值。任何建议将不胜感激

最佳答案

你需要.dt具有 () 的访问器用于第二个和第三个条件:

newData = data[(data.Datetime.dt.day == data.Datetime.dt.day.max()) & 
(data.Datetime.dt.hour == 9) &
(data.Datetime.dt.minute == 30)]

仅转换为天一次:

s = data.Datetime.dt.day
newData = data[(s == s.max()) &
(data.Datetime.dt.hour == 9) &
(data.Datetime.dt.minute == 30)]

关于python - 如何在 python 中使用 Pandas 数据框按特定日期和时间进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69611773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com