簡體   English   中英

如何在python中將三階多維數組拆分為不同的數組?

[英]How to split 3rd order multidimensional array into different arrays in python?

我正在制作一種加密貨幣分析腳本,交換api將市場價差捆綁在一個JSON對象中,該對象輸出以下內容:

{'error': [], 'result': {'XXBTZEUR': {'asks': [['892.00000', '0.067', 
1489866640]], 'bids': [['891.86000', '0.032', 1489866639]]}}}

如您所見,這是一個多維數組。 讓我為您簡化它的結構。

c = {'a':[],'b':{'bsubarray':{'asks':[[x1,y1,z1],[x2,y2,z2],...]
                             {'bids':[[x1,y1,z1],[x2,y2,z2],...]}

我正在嘗試從中獲取4個數組ask_xask_y以及bid_xbid_y

從字面上看,這是我在python中編寫的第三個程序,因此任何詳細的說明都將真正幫助我學習。

謝謝!

要提取ask_xask_y等,則只需zip相關的asks等,例如:

>>> c = {'a':[],'b':{'bsubarray':{'asks':[['x1','y1','z1'],['x2','y2','z2'],['x3','y3','z3']],
...                               'bids':[['x1','y1','z1'],['x2','y2','z2'],['x3','y3','z3']]}}}
>>> ask_x, ask_y, ask_z = zip(*c['b']['bsubarray']['asks'])
>>> bid_x, bid_y, bid_z = zip(*c['b']['bsubarray']['bids'])
>>> ask_x
('x1', 'x2', 'x3')
>>> ask_y
('y1', 'y2', 'y3')

使用您的實際數據:

>>> c = {'error': [], 'result': {'XXBTZEUR': {'asks': [['892.00000', '0.067', 1489866640]], 
...                                           'bids': [['891.86000', '0.032', 1489866639]]}}}
>>> ask_x, ask_y, ask_z = zip(*c['result']['XXBTZEUR']['asks'])
>>> bid_x, bid_y, bid_z = zip(*c['result']['XXBTZEUR']['bids'])
>>> ask_x
('892.00000',)
>>> ask_y
('0.067',)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM