2017-11-10 3 views
0

私はjsonファイルを画像のように表示しています。 パンダのすべての数量とレートをインポートして印刷するにはどうすればよいですか? 購入数量と販売数量の合計を個別に印刷するにはどうすればよいですか? 値がxより大きいすべての数量の合計を印刷するにはどうすればよいですか。例えばのため:RAW形式でSUM(数量> 5)PandasのDataframeでJsonオブジェクトをインポートしてプリントします

enter image description here

、データはあなたがこれを行うにはpandas.read_json()コマンドを使用することができ、この

{"success":true,"message":"","result":{"buy":[{"Quantity":199538.30948659,"Rate":0.00000970},{"Quantity":62142.31715449,"Rate":0.00000968},{"Quantity":233476.03486058,"Rate":0.00000967},{"Quantity":75613.30879931,"Rate":0.00000966},{"Quantity":3109.14961399,"Rate":0.00000965},{"Quantity":66.22406639,"Rate":0.00000964},{"Quantity":401.06420081,"Rate":0.00000963},{"Quantity":186.93339628,"Rate":0.00000961},{"Quantity":122731.01165366,"Rate":0.00000960},{"Quantity":7718.27750144,"Rate":0.00000959},{"Quantity":802.00000000,"Rate":0.00000958},{"Quantity":2050.72163419,"Rate":0.00000956},{"Quantity":1000.00000000,"Rate":0.00000955} 

答えて

1
import pandas as pd 

#change 'buy' for other results 
data = pd.DataFrame(pd.read_json('file.json')['result']['buy']) 

#for filtering 
print(data.query('Quantity > 5').query('Rate > 0.00000966').sum()) 
1

のようなものです。関数内でjsonファイルを渡すだけで、パンダがデータフレームを作成します。

ここでは、orient='records'のような追加のパラメータを渡すことができますので、上のデータフレームの列として使用するものにパンダとなど何行データとして使用する

を伝えるためにそれのためのドキュメントへのリンクはこちらのリンクだです:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_json.html

データフレームに入ると、さまざまなコマンドを実行して、購入と販売の数量の合計を計算することができます。データフレームにデータを入れることで、私の考えでは数学計算を行うほうが少し楽になります。

1

使用json_normalizeとメタパスを渡す:

import json 
import pandas as pd 

with open('data.json') as f: 
    data = json.load(f) 

buy_df = pd.io.json.json_normalize(data['result'],'buy') 
#Similarly for sell data if you have a separte entity named `sell`. 
sell_df = pd.io.json.json_normalize(data['result'],'sell') 

出力:合計

 
    Quantity  Rate 
0 199538.309487 0.00001 
1 62142.317154 0.00001 
2 233476.034861 0.00001 
3 75613.308799 0.00001 
4 3109.149614 0.00001 

あなたが選択のために、今から

buy_df['Quantity'].sum() 

を行うと、データのインデックスを作成することができますが、これを参照してください。 - Indexing and Selecting Data - Pandas

関連する問題