【发布时间】:2021-09-27 08:25:54
【问题描述】:
我有印度证券交易所数据和一个使用.rolling_mean 给出简单移动平均线的代码,但我想对每周数据做同样的事情。我尝试了许多通过互联网和博客提供的方法,但似乎没有任何方法适用于我的用例。
我正在使用Python 3.7 和Pandas 1.3.0。
这是我尝试过的代码:
df1 = df.copy()
df1.set_index('DATE',drop=True,inplace=True)
logic = {'OPEN' : 'first',
'HIGH' : 'max',
'LOW' : 'min',
'CLOSE' : 'last',}
offset = pd.offsets.timedelta(days=-6)
f = pd.read_clipboard(parse_dates=['DATE'], index_col=['DATE'])
f.resample('W', loffset=offset).apply(logic)
还有这个:
f = df.copy()
f['DATE'] = pd.to_datetime(f['DATE'])
f.set_index('DATE', inplace=True)
f.sort_index(inplace=True)
def take_first(array_like):
return array_like[0]
def take_last(array_like):
return array_like[-1]
output = f.resample('W', # Weekly resample
how={'OPEN': take_first,
'HIGH': 'max',
'LOW': 'min',
'CLOSE': take_last,},
loffset=pd.offsets.timedelta(days=-6)) # to put the labels to Monday
output = output[['OPEN', 'HIGH', 'LOW', 'CLOSE']]
两者都给出相同的错误:
AttributeError: module 'pandas.tseries.offsets' has no attribute 'timedelta'
【问题讨论】:
-
你的意思是
pd.Timedelta(days=-6)? -
上面写着
PythonQtError: No Qt bindings could be found -
这似乎是环境问题而不是
pandas问题。
标签: python pandas time-series data-science