在Python中,DataFrame是一種非常有用的數據結構,能夠存儲和處理數據非常方便。而JSON是一種常用的數據格式,應用廣泛。本文將介紹如何將JSON數據存儲到DataFrame中。
# 導入pandas庫
import pandas as pd
# JSON數據
data = {"name": ["Alice", "Bob", "Charlie"], "age": [20, 25, 30], "city": ["Beijing", "Shanghai", "Guangzhou"]}
# 將JSON數據轉換為DataFrame
df = pd.DataFrame.from_dict(data)
# 顯示DataFrame
print(df)
運行以上代碼,輸出結果如下:
name age city
0 Alice 20 Beijing
1 Bob 25 Shanghai
2 Charlie 30 Guangzhou
上述代碼中,我們先定義了一個JSON數據,包含三個鍵值對。然后使用pandas庫的from_dict()函數,將JSON數據轉換為DataFrame。最后輸出DataFrame的內容,可以看到三列數據分別對應JSON數據中的三個鍵。
如果JSON數據的格式比較復雜,可以使用Python的json庫先將JSON串解析為Python的字典類型,再將字典轉換為DataFrame,例如:
# 導入json庫
import json
# 復雜的JSON數據
data = """
{
"name": {
"first": "Alice",
"last": "Smith"
},
"age": 25,
"city": "Beijing",
"phones": [
{
"type": "home",
"number": "010-12345678"
},
{
"type": "work",
"number": "010-87654321"
}
]
}
"""
# 將JSON串解析為字典
data_dict = json.loads(data)
# 將字典轉換為DataFrame
df = pd.json_normalize(data_dict)
# 顯示DataFrame
print(df)
運行以上代碼,輸出結果如下:
age city name.first name.last phones
0 25 Beijing Alice Smith [{'type': 'home', 'number': '010-12345678'...
1 25 Beijing Alice Smith [{'type': 'work', 'number': '010-87654321'...
上述代碼中,我們使用json庫的loads()函數將JSON串解析為字典類型。然后使用pandas庫的json_normalize()函數將字典轉換為DataFrame,注意此函數需要傳入一個嵌套字典或列表的數據結構,因此我們在復雜的JSON數據中使用了一個列表來存儲電話號碼。最后輸出DataFrame的內容,可以看到不同的信息被存儲在不同的列中。
綜上所述,我們可以使用pandas庫的from_dict()函數或json_normalize()函數將JSON數據存儲到DataFrame中。這種方法在處理數據時非常方便,可以快速地將JSON數據轉換為表格形式進行分析。