需要帮助识别由"data[x,y]"访问的python数据结构



我正在尝试实现我在网上找到的股票分析的示例函数[1]。

def normalizer(Data, lookback, onwhat, where):
for i in range(len(Data)):
try:
Data[i, where] = (Data[i, onwhat] - min(Data[i - lookback + 1:i + 1, onwhat])) / 
(max(Data[i - lookback + 1:i + 1, onwhat]) - min(Data[i - lookback + 1:i + 1,onwhat]))
except ValueError:
pass
Data[:, where] = Data[:, where] * 100
return Data

Data变量是如何被引用的?对于给定的股票,Data是一定天数的时间序列OHLC(Open,High,Low,Close(

  • 我认为它应该是一个列表列表,但引用带有data[x,y]的列表是无效的。(我想(。我对列表列表的唯一经验是需要使用符号
    ,如data[x][y]
    这让我认为data变量不是列表列表
  • 有人认识二维数组的这种表示法吗

我使用的是Python 3.7。

[1] :记入Sofien Kaabar

这是旧的,但这里有一个工作示例。原始注释在numpy数组中是正确的。我用pandas来获取数组,它是一个包含OHLC数据的列表列表,但也需要一个空列来放入结果。

文章来源于原作者:https://towardsdatascience.com/a-simple-indicator-to-be-added-to-your-trading-system-ac65e70bbdd

熊猫数据:

open   high    low  close newcolumn
Date
2002-05-23  16.19  17.40  16.04  16.75
2002-05-24  17.00  17.15  16.76  16.94
2002-05-28  16.99  17.25  16.20  16.20
2002-05-29  16.30  16.30  15.20  15.45
2002-05-30  15.51  15.51  15.00  15.00
...           ...    ...    ...    ...       ...
2002-10-08   5.75   5.99   5.47   5.67
2002-10-09   5.74   5.75   4.86   5.22
2002-10-10   5.29   7.35   4.85   7.09
2002-10-11   7.12   7.40   6.25   6.59
2002-10-14   6.50   7.49   6.49   7.48

Numpy数组(不是完整的数组-列表列表(:

array([[16.19, 17.4, 16.04, 16.75, ''],
[17.0, 17.15, 16.76, 16.94, ''],
[16.99, 17.25, 16.2, 16.2, ''],
[16.3, 16.3, 15.2, 15.45, ''],
[15.51, 15.51, 15.0, 15.0, ''],
[15.1, 15.1, 15.0, 15.07, ''],
[15.12, 16.09, 15.07, 15.8, ''],
[15.9, 15.96, 15.55, 15.65, ''],
[15.55, 16.23, 15.5, 16.06, ''],

函数参数是索引位置3-闭合柱4-写入新列50-回顾

normalizer(df.values, 50, 3, 4)

一旦你到达第50个位置,你就会看到中的新列计算

[13.3, 13.44, 12.29, 12.48, ''],
[12.41, 12.43, 9.89, 10.89, 0.0],
[10.9, 11.38, 10.65, 10.85, 0.0],
[11.14, 11.25, 10.4, 10.65, 0.0],
[10.65, 11.11, 10.4, 11.11, 6.371191135734058],
[11.15, 11.25, 10.51, 11.15, 6.925207756232686],
[11.18, 11.5, 10.9, 11.02, 5.124653739612177],
[11.24, 11.3, 10.55, 10.6, 0.0],
[10.75, 11.27, 10.56, 10.82, 3.0261348005502144],

最新更新