欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas實(shí)現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解

 更新時間:2023年07月18日 11:30:08   作者:吃肉的小饅頭  
其實(shí)使用pandas解析JSON?Dataset要方便得多,所以這篇文章主要為大家介紹了Pandas實(shí)現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的具體方法,需要的小伙伴可以收藏一下

使用pandas解析JSON Dataset要方便得多。Pandas允許您將列表的列表轉(zhuǎn)換為Dataframe并單獨(dú)指定列名。JSON解析器將JSON文本轉(zhuǎn)換為另一種表示必須接受符合JSON語法的所有文本。它可以接受非JSON形式或擴(kuò)展。實(shí)現(xiàn)可以設(shè)置以下內(nèi)容:

  • 它接受的文本大小的限制,
  • 對嵌套的最大深度的限制,
  • 對數(shù)字范圍和精度的限制,
  • 設(shè)置字符串的長度和字符內(nèi)容的限制。

使用大型JSON數(shù)據(jù)集可能會惡化,特別是當(dāng)它們太大而無法容納在內(nèi)存中時。在這種情況下,命令行工具和Python的組合可以成為探索和分析數(shù)據(jù)的有效方法。

導(dǎo)入JSON文件

JSON的操作是使用Python數(shù)據(jù)分析庫pandas完成的。

import pandas as pd

現(xiàn)在,您可以使用命令read_json讀取JSON并將其保存為pandas數(shù)據(jù)結(jié)構(gòu)。

pandas.read_json (path_or_buf=None, orient = None, typ=’frame’, dtype=True, convert_axes=True, convert_dates=True, keep_default_dates=True, numpy=False, precise_float=False, date_unit=None, encoding=None, lines=False, chunksize=None, compression=’infer’)

import pandas as pd
# Creating Dataframe 
df = pd.DataFrame([['a', 'b'], ['c', 'd']],
                  index =['row 1', 'row 2'],
                  columns =['col 1', 'col 2'])
# Indication of expected JSON string format
print(df.to_json(orient ='split'))
print(df.to_json(orient ='index'))

輸出:

{"columns":["col 1", "col 2"],
 "index":["row 1", "row 2"],
 "data":[["a", "b"], ["c", "d"]]}
{"row 1":{"col 1":"a", "col 2":"b"},
 "row 2":{"col 1":"c", "col 2":"d"}}

轉(zhuǎn)換object對象到j(luò)son數(shù)據(jù)使用dataframe.to_json

DataFrame.to_json(path_or_buf=None, orient=None, date_format=None, double_precision=10, force_ascii=True, date_unit=’ms’, default_handler=None, lines=False, compression=’infer’, index=True)

直接從Dataset讀取JSON文件:

import pandas as pd
data = pd.read_json('http://api.population.io/1.0/population/India/today-and-tomorrow/?format = json')
print(data)

輸出:

total_population
0  {'date': '2019-03-18', 'population': 1369169250}
1  {'date': '2019-03-19', 'population': 1369211502}

使用Pandas進(jìn)行嵌套JSON解析

嵌套的JSON文件可能非常耗時,并且很難將其展平并加載到Pandas中。

我們使用嵌套的“'raw_nyc_phil.json。"'從一個嵌套數(shù)組創(chuàng)建一個扁平化的pandas數(shù)據(jù)框,然后解包一個深度嵌套數(shù)組。

import json
import pandas as pd
from pandas.io.json import json_normalize
with open('https://github.com/a9k00r/python-test/blob/master/raw_nyc_phil.json') as f:
	d = json.load(f)
# lets put the data into a pandas df
# clicking on raw_nyc_phil.json under "Input Files"
# tells us parent node is 'programs'
nycphil = json_normalize(d['programs'])
nycphil.head(3)

works_data = json_normalize(data = d['programs'],
							record_path ='works',
							meta =['id', 'orchestra', 'programID', 'season'])
works_data.head(3)

soloist_data = json_normalize(data = d['programs'],
							record_path =['works', 'soloists'],
							meta =['id'])
soloist_data.head(3)

將Pandas DataFrame導(dǎo)出到JSON文件

讓我們看看如何將Pandas DataFrame導(dǎo)出為JSON文件。要執(zhí)行此任務(wù),我們將使用DataFrame.to_json()和pandas.read_json()函數(shù)。

示例1:

# importing the module
import pandas as pd
# creating a DataFrame
df = pd.DataFrame([['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']],
				index =['row 1', 'row 2', 'row3'],
				columns =['col 1', 'col 2', 'col3'])
# storing the data in JSON format
df.to_json('file.json', orient = 'split', compression = 'infer', index = 'true')
# reading the JSON file
df = pd.read_json('file.json', orient ='split', compression = 'infer')
# displaying the DataFrame
print(df)

我們可以看到DataFrame已經(jīng)導(dǎo)出為JSON文件。

示例2:

# importing the module
import pandas as pd
# creating a DataFrame
df = pd.DataFrame(data = [['15135', 'Alex', '25 / 4/2014'],
                   ['23515', 'Bob', '26 / 8/2018'],
                   ['31313', 'Martha', '18 / 1/2019'],
                   ['55665', 'Alen', '5 / 5/2020'],
                   ['63513', 'Maria', '9 / 12 / 2020']],
                  columns =['ID', 'NAME', 'DATE OF JOINING'])
# storing data in JSON format
df.to_json('file1.json', orient = 'split', compression = 'infer')
# reading the JSON file
df = pd.read_json('file1.json', orient ='split', compression = 'infer')
print(df)

我們可以看到這個DataFrame也被導(dǎo)出為JSON文件。

以上就是Pandas實(shí)現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Pandas解析JSON數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)的隨機(jī)森林算法與簡單總結(jié)

    Python實(shí)現(xiàn)的隨機(jī)森林算法與簡單總結(jié)

    這篇文章主要介紹了Python實(shí)現(xiàn)的隨機(jī)森林算法,結(jié)合實(shí)例形式詳細(xì)分析了隨機(jī)森林算法的概念、原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-01-01
  • python使用matplotlib畫出的圖怎樣放到word中

    python使用matplotlib畫出的圖怎樣放到word中

    這篇文章主要介紹了python使用matplotlib畫出的圖怎樣放到word中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python編寫圖書管理系統(tǒng)

    python編寫圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python編寫圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 一篇文章搞懂Python反斜杠的相關(guān)問題

    一篇文章搞懂Python反斜杠的相關(guān)問題

    這篇文章主要給大家介紹了如何通過一篇文章搞懂Python反斜杠的相關(guān)問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python+Matplotlib繪制雙y軸圖像的示例代碼

    Python+Matplotlib繪制雙y軸圖像的示例代碼

    這篇文章主要介紹了如何利用python的matplotlib繪制雙Y軸圖像,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2022-04-04
  • python使用wmi模塊獲取windows下硬盤信息的方法

    python使用wmi模塊獲取windows下硬盤信息的方法

    這篇文章主要介紹了python使用wmi模塊獲取windows下硬盤信息的方法,涉及Python獲取系統(tǒng)硬件信息的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python計(jì)算分段函數(shù)值的方法

    python計(jì)算分段函數(shù)值的方法

    這篇文章主要為大家詳細(xì)介紹了python計(jì)算分段函數(shù)值的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python計(jì)算程序開始到程序結(jié)束的運(yùn)行時間和程序運(yùn)行的CPU時間

    python計(jì)算程序開始到程序結(jié)束的運(yùn)行時間和程序運(yùn)行的CPU時間

    這篇文章主要介紹了python計(jì)算程序開始到程序結(jié)束的運(yùn)行時間和程序運(yùn)行的CPU時間的三個方法,大家參考使用
    2013-11-11
  • Django解決CORS跨域問題的方案

    Django解決CORS跨域問題的方案

    Cross-Origin Resource Sharing(CORS) 跨域問題,在前后端后離項(xiàng)目,selenium , playweight 自動化測試代碼中經(jīng)常遇到,本文給大家介紹了Django解決CORS跨域問題的方案,文中有詳細(xì)的代碼講解,需要的朋友可以參考下
    2024-03-03
  • tensorflow實(shí)現(xiàn)打印ckpt模型保存下的變量名稱及變量值

    tensorflow實(shí)現(xiàn)打印ckpt模型保存下的變量名稱及變量值

    今天小編就為大家分享一篇tensorflow實(shí)現(xiàn)打印ckpt模型保存下的變量名稱及變量值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論