繁体   English   中英

如何使用python过滤时间序列或数据帧中的日期范围

[英]How to filter for dates range in timeseries or dataframe using python

仍然是 Python 的新手,只是想学习这些东西。 感谢任何帮助。

现在,当我连接到 Alpha Vantage 时,我会获得所有日期的全部数据,看起来像这样在此处输入图片说明

我找到了一些很好的指南来源,但我不断收到空数据框或错误在此处输入图片说明

这是目前代码的样子

import pandas as pd
from pandas import DataFrame
import datetime
from datetime import datetime as dt
from alpha_vantage.timeseries import TimeSeries
import numpy as np

stock_ticker = 'SPY'
api_key = open('/content/drive/My Drive/Colab Notebooks/key').read()

ts = TimeSeries (key=api_key, output_format = "pandas")
data_daily, meta_data = ts.get_daily_adjusted(symbol=stock_ticker, outputsize ='full')
#data_date_changed = data[:'2019-11-29']

data = pd.DataFrame(data_daily)

df.loc[datetime.date(year=2014,month=1,day=1):datetime.date(year=2015,month=2,day=1)]

import datetime 
df.loc[datetime.date(year=2014,month=1,day=1):datetime.date(year=2014,month=2,day=1)]

根据我的经验,您不能在loc内部传递一个简单的字符串,而必须是一个日期时间对象。

答案是

stock_ticker = 'SPY'
api_key = 'apikeyddddd'

ts = TimeSeries (key=api_key, output_format = "pandas")
data_daily, meta_data = ts.get_daily_adjusted(symbol=stock_ticker, outputsize ='full')

test = data_daily[(data_daily.index > '2014-01-01') & (data_daily.index <= '2017-08-15')]

print(data_daily)
print(test)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM