2017-01-02 5 views
-1

私は、複数の要素の現在の情報を取得し、それをtrade_list.append([[trade_id、results]]という形式でリストに追加するティッカーを持っています。Pythonは複数の要素を持つリストの要素の平均を求めます

trade_idの4555,5555,23232を追跡しているとすれば、trade_listはその結果をリストに追加していくつもりで、結果の平均を個別に探したいとします。

コードは次のような作品:

Find accounts 
for a in accounts: 
    find open trades of accounts 
    for t in range(len(trades)): 
     do some math 
    trades_list.append(trade_id,result) 
    avernum = 0 
    average = [] 
    for r in range(len(trades_list)): 
     average.append(trades_list[r][1]) # This is the value attached to the trade_id 
     avernum+=1 
    results = float(sum(average)/avernum)) 
    results_list.append([[trade_id,results]]) 

は、これは本当にすぐに記入します。これは、2つのティック後である:

プリント(results_list)
[[[53471、28.36432]]、[[53477、31.67835]]、[[53474、32.27664]]、[[52232、1908.30604]、[ [52241,350.4758]]、[[53471、28.36432]]、[[53477,31.67835]]、[[53474,32.27664]]、[[52232,1908.30604]]、[[52241,350.4758]]]

これらの平均は移動して非常に速く変化します。私は彼らを追跡し、監視するresults_listを使用すると、現在のものに前の平均値を比較

思考:私が持っているかもしれませんが

for r in range(len(results_list)): 
    if results_list[r][0] == trade_id: 
     restick.append(results_list[r][1]) 
resnum = len(restick) 
if restick[resnum] > restick[resnum-1]: 
    do fancy things 
+0

達成したいことを説明してください。そしてあなたの質問にコードを追加してください。それで簡単に入手できます。 –

+0

何を試しましたか? – msvalkon

+1

したがって、 'trade_list'は' [trade_id、results] 'の形式のリストを含むリストを含むリストですか?つまり、2つではなく3つのレベルのリストがありますか? –

答えて

0

ここでは、あなたが私はあなたが説明している何を考えていいくつかの短いコードは、あります誤解されました。あなたは基本的にあなたが言うことを正確に行います。特定のtrade_idを持つものをすべて選択し、その平均を返します。:

TID_INDEX = 0 
DATA_INDEX = 1 

def id_average(t_id, arr): 
    filt_arr = [i[DATA_INDEX] for i in arr if i[TID_INDEX] == t_id] 
    return sum(filt_arr)/len(filt_arr) 
関連する問題