Python 在Pandas中导入和打印Dataframe中的Json对象

Python 在Pandas中导入和打印Dataframe中的Json对象,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个json文件,看起来像图中所示的那个。 如何导入和打印熊猫的所有数量和价格? 如何分别打印所有购买和销售数量的总和? 如何打印值大于x的所有数量之和。例如:总和(数量>5) 在原始格式中,数据如下所示 {"success":true,"message":"","result":{"buy":[{"Quantity":199538.30948659,"Rate":0.00000970},{"Quantity":62142.31715449,"Rate":0.00000968},{"Qua

我有一个json文件,看起来像图中所示的那个。 如何导入和打印熊猫的所有数量和价格? 如何分别打印所有购买和销售数量的总和? 如何打印值大于x的所有数量之和。例如:总和(数量>5)

在原始格式中,数据如下所示

{"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}

您可以使用
pandas.read_json()
命令来执行此操作。只需在函数中传递json文件,pandas就会为您创建一个数据帧

这里是它的文档链接,您可以在这里传递额外的参数,如
orient='records'
等,以告诉panda什么用作数据框列,什么用作行数据等

以下是链接:

进入dataframe后,您可以运行各种命令来计算购买和出售的数量总和。在我看来,在运行数学计算时,将数据放在数据框中会使生活更轻松。

使用并传递元路径:

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()
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())