给定以下具有60个元素的熊猫数据框。重新调整价格表从较长的长度到较小的长度
import pandas as pd
data = [60,62.75,73.28,75.77,70.28
,67.85,74.58,72.91,68.33,78.59
,75.58,78.93,74.61,85.3,84.63
,84.61,87.76,95.02,98.83,92.44
,84.8,89.51,90.25,93.82,86.64
,77.84,76.06,77.75,72.13,80.2
,79.05,76.11,80.28,76.38,73.3
,72.28,77,69.28,71.31,79.25
,75.11,73.16,78.91,84.78,85.17
,91.53,94.85,87.79,97.92,92.88
,91.92,88.32,81.49,88.67,91.46
,91.71,82.17,93.05,103.98,105]
data_pd = pd.DataFrame(data, columns=["price"])
是否有一个公式,以便为每个窗口开始从索引0
到索引i+1
大于20组的元素,该数据被重新缩放至20层的元件以这样的方式重新调整此?
这里是一个循环,正在创建与重新缩放数据的窗口,我只是不知道任何方式来做这个问题在手边重新缩放本身。有关如何做到这一点的任何建议?
miniLenght = 20
rescaledData = []
for i in range(len(data_pd)):
if(i >= miniLenght):
dataForScaling = data_pd[0:i]
scaledDataToMinLenght = dataForScaling #do the scaling here so that the length of the rescaled data is always equal to miniLenght
rescaledData.append(scaledDataToMinLenght)
基本上后的重新缩放rescaledData
应该有40阵列,每个阵列为20倍的价格的长度。
你做什么重新调整? –
这个问题真的来自科学论文,我试图重现结果,但我很难做到重新缩放。 [Here](http://content.iospress.com/articles/algorithmic-finance/af059#eq3)是我发现的一个公式,我只是不知道如何在这里应用 – RaduS
请看[ df.rolling'](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rolling.html)。可能有些用处。用于窗口滚动的 –