[英]Convert Json data to Python DataFrame
這是我第一次訪問API /使用json數據,因此,如果有人可以將我引向了解如何使用它的良好資源,我將非常感激。
具體來說,我有以下形式的json數據:
{"result": { "code": "OK", "msg": "" },"report_name":"DAILY","columns":["ad","ad_impressions","cpm_cost_per_ad","cost"],"data":[{"row":["CP_CARS10_LR_774470","966","6.002019","5.797950"]}],"total":["966","6.002019","5.797950"],"row_count":1}
我了解這種結構,但是我不知道如何正確地將其放入DataFrame中。
查看json
的結構,大概您的數據將有幾行,我認為自行構建數據框會更有意義。
此代碼使用columns
和data
來構建數據框:
In [12]:
import json
import pandas as pd
with open('... path to your json file ...') as fp:
for line in fp:
obj = json.loads(line)
columns = obj['columns']
data = obj['data']
l = []
for d in data:
l += [d['row']]
df = pd.DataFrame(l, index=None, columns=columns)
df
Out[12]:
ad ad_impressions cpm_cost_per_ad cost
0 CP_CARS10_LR_774470 966 6.002019 5.797950
至於其余的數據,在您的json
,我想您可以例如使用總計來檢查數據框,
In [14]:
sums = df.sum(axis=0)
obj['total']
for i in range(0,3):
if (obj['total'][i] != sums[i+1]):
print "error in total"
In [15]:
if obj['row_count'] != len(df.index):
print "error in row count"
至於json
的其余數據,我很難知道是否還應該做其他事情。
希望能幫助到你。
查看熊貓文件。 特別,
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_json.html
熊貓支持將json讀取到數據框
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.