2017-08-07 6 views
0

私は、多数のデータセットの多数の値を反復して比較する必要があるプロジェクトに取り組んでいます。以下のサンプルコードは、ちょうど2つのデータセットのための私の考えを示しています - それは少し遅いです。このタイプの比較を行うためのより良いパターンがあるかどうかを知りたいと思います。下のコードは2セットのデータを示していますが、10セットあると想像して、データセット1の質問とデータセット2の入札を比較し、データセット2とデータセット1の入札を尋ねます。そうではないので、私はこのための最良のパターンについていくつかアドバイスをしたいと思います。複数のデータセットで多数の値を比較

j1 = json.loads(r1) # json response contains MANY values for ASKS and BIDS 
j2 = json.loads(r2) # json response, contains MANY values for ASKS and BIDS 
for ask, aval in j1['eth_btc']['asks']: 
    for bid, bval in j2['eth_btc']['bids']: 
     if ask < bid: 
      if aval <= bval: 
       # do some stuff! 
# now do the reverse - ASK from J2 and BID from J1 
for ask, aval in j2['eth_btc']['asks']: 
    for bid, bval in j1['eth_btc']['bids']: 
     if ask < bid: 
      if aval <= bval: 
       # do some different stuff! 

ありがとうございました。

+0

ファイルをPandas DataFramesに読み込むことはできますか? – RagingRoosevelt

+0

私は一般に集合理論を使ってこれらの問題にアプローチし、パンダのデータフレームやデータベーステーブルを使用します。おそらく、setデータ型も使用できます。ループを回避するためにベクトル化してみてください。 「{ "eth_btc ""= R1: - – toasteez

+0

ただ、完全な開示は、ここでは、データがどのように見えるかの小さなサブセットです":{ は ":[ [105.426,0.01]、 [105.5,15]、 " 頼みます[104.504,0.425]、 [105.505,0.1] ]、 "入札":[ [103.2,2.48502251]、 [103.082,0.46540304]、 [104.91,0.99007913]、 [102.83,0.07832332] ] } } ""私はパンダを一度も使用していませんが、聞いたことがあります。このタイプの比較に最も適していると思われるパンダの機能がありますか? – TokyoMike

答えて

0

私はこれを調査し続けてきましたし、法を越えてきた(私は簡単なように変数名を更新する気にしませんでした):これは私のための巨大なパフォーマンスの向上を提供してきました

from itertools import zip_longest 
for x, y in zip_longest(xpts, ypts): 
    print(x,y) 

。誰かがもっと効率的な別のパターンのアイディアを持っているなら、私に知らせてください。

関連する問題