大n维numpy阵列中的选择问题

2024-10-03 06:30:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的多维numpy数组,是通过转换列表创建的,当我尝试选择一个特定条目时,会出现以下错误:

tickGroups[0, 0, 0]

IndexError                                Traceback (most recent call last)
<ipython-input-108-e8d1dd9db3ac> in <module>
----> 1 tickGroups[0, 0, 0]

IndexError: too many indices for array

当我在组[0]

array([{'price': 239.99, 'size': 1, 'tick': 0, 'sizeInBTC': 0.004166840285011875},
       {'price': 237.43, 'size': 1500, 'tick': -1, 'sizeInBTC': 6.317651518342248},
       {'price': 237.41, 'size': 1500, 'tick': -1, 'sizeInBTC': 6.318183732782949},
       ...,
       {'price': 238.55, 'size': 800, 'tick': -1, 'sizeInBTC': 3.353594634248585},
       {'price': 237.69, 'size': 5000, 'tick': -1, 'sizeInBTC': 21.035802936598092},
       {'price': 237.98, 'size': 22774, 'tick': 1, 'sizeInBTC': 95.69711740482394}],
      dtype=object)

及分组[0][0]

{'price': 239.99, 'size': 1, 'tick': 0, 'sizeInBTC': 0.004166840285011875}

tickGroups[:]返回全部内容

array([array([{'price': 239.99, 'size': 1, 'tick': 0, 'sizeInBTC': 0.004166840285011875},
       {'price': 237.43, 'size': 1500, 'tick': -1, 'sizeInBTC': 6.317651518342248},
       {'price': 237.41, 'size': 1500, 'tick': -1, 'sizeInBTC': 6.318183732782949},
       ...,
       {'price': 238.55, 'size': 800, 'tick': -1, 'sizeInBTC': 3.353594634248585},
       {'price': 237.69, 'size': 5000, 'tick': -1, 'sizeInBTC': 21.035802936598092},
       {'price': 237.98, 'size': 22774, 'tick': 1, 'sizeInBTC': 95.69711740482394}],
      dtype=object),
       array([{'price': 237.78, 'size': 1111, 'tick': -1, 'sizeInBTC': 4.67238623938094},
       {'price': 237.81, 'size': 5000, 'tick': 1, 'sizeInBTC': 21.02518817543417},
       {'price': 237.81, 'size': 5000, 'tick': 0, 'sizeInBTC': 21.02518817543417},
       ...,
       {'price': 244.48, 'size': 1400, 'tick': -1, 'sizeInBTC': 5.726439790575917},
       {'price': 244.33, 'size': 2000, 'tick': -1, 'sizeInBTC': 8.185650554577824},
       {'price': 244.21, 'size': 7500, 'tick': -1, 'sizeInBTC': 30.71127308464027}],
      dtype=object),
       array([{'price': 244.08, 'size': 10000, 'tick': -1, 'sizeInBTC': 40.970173713536546},
       {'price': 244.05, 'size': 7500, 'tick': -1, 'sizeInBTC': 30.73140749846343},
       {'price': 244.25, 'size': 20, 'tick': 1, 'sizeInBTC': 0.08188331627430911},
       ...,
       {'price': 254.0, 'size': 2000, 'tick': -1, 'sizeInBTC': 7.874015748031496},
       {'price': 253.83, 'size': 6, 'tick': -1, 'sizeInBTC': 0.023637867864318637},
       {'price': 253.82, 'size': 6, 'tick': -1, 'sizeInBTC': 0.023638799149003232}],
      dtype=object),
       ...,
       array([{'price': 17519.5, 'size': 10, 'tick': -1, 'sizeInBTC': 0.0005707925454493565},
       {'price': 17519.5, 'size': 10066, 'tick': 0, 'sizeInBTC': 0.5745597762493222},
       {'price': 17529.5, 'size': 100, 'tick': 1, 'sizeInBTC': 0.005704669271798968},
       ...,
       {'price': 17429.5, 'size': 9905, 'tick': -1, 'sizeInBTC': 0.5682893944175106},
       {'price': 17430.5, 'size': 4800, 'tick': 1, 'sizeInBTC': 0.2753793637589283},
       {'price': 17431.0, 'size': 500, 'tick': 1, 'sizeInBTC': 0.02868452756583099}],
      dtype=object),
       array([{'price': 17431.0, 'size': 1000, 'tick': 0, 'sizeInBTC': 0.05736905513166198},
       {'price': 17430.5, 'size': 2975, 'tick': -1, 'sizeInBTC': 0.17067783482975243},
       {'price': 17431.0, 'size': 1278, 'tick': 1, 'sizeInBTC': 0.07331765245826401},
       ...,
       {'price': 17450.0, 'size': 1000, 'tick': -1, 'sizeInBTC': 0.05730659025787966},
       {'price': 17458.0, 'size': 6000, 'tick': 1, 'sizeInBTC': 0.34368197960820257},
       {'price': 17460.0, 'size': 12549, 'tick': 1, 'sizeInBTC': 0.7187285223367698}],
      dtype=object),
       array([{'price': 17460.0, 'size': 145, 'tick': 0, 'sizeInBTC': 0.008304696449026346},
       {'price': 17460.0, 'size': 500, 'tick': 0, 'sizeInBTC': 0.0286368843069874},
       {'price': 17462.0, 'size': 100, 'tick': 1, 'sizeInBTC': 0.005726720879624327},
       ...,
       {'price': 17550.0, 'size': 197, 'tick': 0, 'sizeInBTC': 0.011225071225071225},
       {'price': 17549.0, 'size': 525, 'tick': -1, 'sizeInBTC': 0.029916234543278818},
       {'price': 17544.5, 'size': 50, 'tick': -1, 'sizeInBTC': 0.002849895978796774}],
      dtype=object)], dtype=object)

例如,如果我试图选择第一个价格239.99,我认为tickGroups[0,0,0]可以工作,但我得到了上面的错误。 np.shape(tickGroups)返回

(16130,)

Tags: numpy列表sizeobject错误条目数组array
1条回答
网友
1楼 · 发布于 2024-10-03 06:30:16

您有一个数组,其中充满了字典,因此,例如,tickGroups[0][0][price']应该给出第一个数组的价格。 如果您想要正确的尺寸,您应该再次创建,然而,最后是字典,而不是列表

相关问题 更多 >