大数跨境
0
0

Pandas结构化json数据

Pandas结构化json数据 CDA数据分析师
2024-01-02
1
导读:Pandas json_normalize 函数使用教程介绍json_normalize 是 Pandas
Pandas json_normalize 函数使用教程
介绍
json_normalize 是 Pandas 库中一个强大的函数,用于将嵌套的 JSON 数据规范化成平面的 DataFrame。这对于处理包含嵌套结构的 JSON 数据非常有用,使其更容易分析和操作。在本教程中,我们将深入介绍 json_normalize 函数,并通过通俗的例子帮助你理解其参数的作用。
安装 Pandas
首先,确保你已经安装了 Pandas。如果没有安装,可以使用以下命令进行安装:
pip install pandas
使用 json_normalize
基本用法
让我们从最基本的用法开始。假设有如下嵌套的 JSON 数据:
{                
 
"name":"John",                
  "age":30,                
  "address":{                
   
"city":"New York",                
    "zip":"10001"                
 
}                
}
现在我们将使用 json_normalize 将其规范化成 DataFrame:
import pandas as pd                
               
# 嵌套的 JSON 数据                
data
= {                
   
"name": "John",                
    "age": 30,                
    "address": {                
       
"city": "New York",                
        "zip": "10001"                
    }                
}                
               
# 使用 json_normalize 规范化                
df
= pd.json_normalize(data)                
               
# 打印 DataFrame                
print(df)    
运行上述代码,你将得到一个包含规范化数据的 DataFrame。
处理嵌套数组
json_normalize 也可以处理包含嵌套数组的 JSON 数据。考虑以下 JSON:
{                
 
"name":"John",                
  "age":30,                
  "skills":[                
   
{"language":"Python", "level":"Intermediate"},                
    {"language":"JavaScript", "level":"Advanced"}                
 
]                
}
我们可以使用 record_path 参数指定要规范化的嵌套数组:
# 嵌套数组的 JSON 数据                
data_with_array
= {                
   
"name": "John",                
    "age": 30,                
    "skills": [                
        {
"language": "Python", "level": "Intermediate"},                
        {
"language": "JavaScript", "level": "Advanced"}                
    ]                
}                
               
# 使用 json_normalize 规范化,指定嵌套数组路径                
df_with_array
= pd.json_normalize(data_with_array, record_path='skills')                
               
# 打印 DataFrame                
print(df_with_array)
通过指定 record_path 参数,我们将嵌套数组规范化成了 DataFrame。
处理嵌套 JSON
json_normalize 还支持处理嵌套的 JSON 结构。考虑以下 JSON:    
{                
 
"name":"John",                
  "age":30,                
  "contact":{                
   
"email":"john@example.com",                
    "phone":{                
     
"home":"123-456-7890",                
      "work":"987-654-3210"                
   
}                
 
}                
}
我们可以使用 sep 参数指定嵌套层次的分隔符:
# 嵌套 JSON 数据                
data_nested
= {                
   
"name": "John",                
    "age": 30,                
    "contact": {                
       
"email": "john@example.com",                
        "phone": {                
           
"home": "123-456-7890",                
            "work": "987-654-3210"                
        }                
    }                
}                
               
# 使用 json_normalize 规范化,指定嵌套层次分隔符                
df_nested
= pd.json_normalize(data_nested, sep='_')                
               
# 打印 DataFrame                
print(df_nested)
在这个例子中,我们通过指定 sep 参数,将嵌套的 JSON 结构规范化成了 DataFrame。
总结
通过本教程,你学习了如何使用 Pandas 中的 json_normalize 函数将嵌套的 JSON 数据规范化成易于处理的 DataFrame。我们介绍了基本用法以及如何处理嵌套数组和嵌套 JSON 结构。希望这些通俗易懂的例子能够帮助你更好地理解 json_normalize 函数的使用。    


了解更多数据分析知识、与更多优秀的人一起进群交流请扫码


群码过期或者群满请添加客服微信 CDAshujufenxi 后拉您进群

【声明】内容源于网络
0
0
CDA数据分析师
🌸全国30万数据分析从业人员,有10万在CDA数据分析师 🌺CDA会员俱乐部有1000个数据库,成为持证人即可获得相关数据信息 🌹未来两样东西最有价值:一个是数据,一个是GPU
内容 9451
粉丝 0
CDA数据分析师 🌸全国30万数据分析从业人员,有10万在CDA数据分析师 🌺CDA会员俱乐部有1000个数据库,成为持证人即可获得相关数据信息 🌹未来两样东西最有价值:一个是数据,一个是GPU
总阅读1.4k
粉丝0
内容9.5k