集团公司网站开发,asp网站怎么运行,做网站和维护网站,一个人做网站 没有人写文章怎么办Pandas 是一个强大的数据处理库#xff0c;它提供了丰富的功能来处理 JSON 数据。以下是 Pandas 中处理 JSON 的所有常见操作#xff1a; 1. 读取 JSON 文件
使用 pandas.read_json() 函数可以从 JSON 文件或 JSON 字符串中读取数据。
从 JSON 文件读取
import pandas as …Pandas 是一个强大的数据处理库它提供了丰富的功能来处理 JSON 数据。以下是 Pandas 中处理 JSON 的所有常见操作 1. 读取 JSON 文件
使用 pandas.read_json() 函数可以从 JSON 文件或 JSON 字符串中读取数据。
从 JSON 文件读取
import pandas as pd# 从 JSON 文件读取
df pd.read_json(data.json)
print(df)从 JSON 字符串读取
json_data
[{name: Alice, age: 30},{name: Bob, age: 25}
]
df pd.read_json(json_data)
print(df)2. 将 DataFrame 保存为 JSON 文件
使用 DataFrame.to_json() 方法可以将 DataFrame 保存为 JSON 文件或 JSON 字符串。
保存为 JSON 文件
df pd.DataFrame({name: [Alice, Bob],age: [30, 25]
})df.to_json(output.json, orientrecords, linesTrue)保存为 JSON 字符串
json_string df.to_json(orientrecords)
print(json_string)3. JSON 数据的方向orient 参数
Pandas 支持多种 JSON 数据的方向orient 参数用于控制 JSON 数据的结构。
常见 orient 选项
split字典格式包含 index、columns 和 data。records列表格式每行是一个字典。index字典格式键是行索引。columns字典格式键是列名。values仅包含数据值的二维列表。
示例
df pd.DataFrame({name: [Alice, Bob],age: [30, 25]
})# 使用不同的 orient 参数
print(df.to_json(orientsplit))
print(df.to_json(orientrecords))
print(df.to_json(orientindex))
print(df.to_json(orientcolumns))
print(df.to_json(orientvalues))4. 处理嵌套 JSON 数据
如果 JSON 数据是嵌套的例如包含字典或列表可以使用 json_normalize() 函数将其展平。
示例
import pandas as pd
from pandas import json_normalizenested_json [{name: Alice,age: 30,address: {city: New York,zip: 10001}},{name: Bob,age: 25,address: {city: Los Angeles,zip: 90001}}
]# 展平嵌套 JSON
df json_normalize(nested_json)
print(df)输出 name age address.city address.zip
0 Alice 30 New York 10001
1 Bob 25 Los Angeles 900015. 处理 JSON 中的列表数据
如果 JSON 数据中包含列表可以使用 explode() 方法将列表拆分为多行。
示例
df pd.DataFrame({name: [Alice, Bob],courses: [[Math, Science], [History, English]]
})# 将列表拆分为多行
df df.explode(courses)
print(df)输出 name courses
0 Alice Math
0 Alice Science
1 Bob History
1 Bob English6. 从 API 获取 JSON 数据
Pandas 可以直接从 API 获取 JSON 数据并转换为 DataFrame。
示例
import pandas as pd
import requests# 从 API 获取数据
url https://api.example.com/data
response requests.get(url)
data response.json()# 转换为 DataFrame
df pd.DataFrame(data)
print(df)7. 处理 JSON 中的日期
如果 JSON 数据中包含日期字符串可以使用 pd.to_datetime() 将其转换为日期类型。
示例
df pd.DataFrame({date: [2023-01-01, 2023-02-01],value: [10, 20]
})# 将日期字符串转换为日期类型
df[date] pd.to_datetime(df[date])
print(df)8. 处理 JSON 中的缺失值
Pandas 会自动将 JSON 中的 null 转换为 NaN可以使用 fillna() 或 dropna() 处理缺失值。
示例
df pd.DataFrame({name: [Alice, Bob, None],age: [30, None, 25]
})# 填充缺失值
df_filled df.fillna(Unknown)
print(df_filled)# 删除包含缺失值的行
df_dropped df.dropna()
print(df_dropped)9. 处理 JSON 中的多层索引
如果 JSON 数据包含多层索引例如嵌套字典可以使用 pd.MultiIndex 处理。
示例
data {(Alice, age): 30,(Alice, city): New York,(Bob, age): 25,(Bob, city): Los Angeles
}df pd.DataFrame(data, index[0])
print(df)10. 处理 JSON 中的复杂结构
如果 JSON 数据结构非常复杂可以结合 Python 的 json 模块和 Pandas 进行处理。
示例
import json
import pandas as pdcomplex_json
{employees: [{name: Alice, age: 30, skills: [Python, SQL]},{name: Bob, age: 25, skills: [Java, C]}]
}
# 解析 JSON
data json.loads(complex_json)# 提取嵌套数据
employees data[employees]
df pd.DataFrame(employees)# 展平嵌套列表
df df.explode(skills)
print(df)11. 处理 JSON 中的大文件
对于大型 JSON 文件可以使用 chunksize 参数分块读取。
示例
chunks pd.read_json(large_data.json, linesTrue, chunksize1000)
for chunk in chunks:print(chunk)12. 处理 JSON 中的非标准格式
如果 JSON 数据是非标准格式例如每行一个 JSON 对象可以使用 linesTrue 参数。
示例
json_data
{name: Alice, age: 30}
{name: Bob, age: 25}
df pd.read_json(json_data, linesTrue)
print(df)13. 处理 JSON 中的 Unicode 字符
Pandas 默认支持 Unicode 字符无需额外处理。
示例
df pd.DataFrame({name: [张三, 李四],age: [30, 25]
})json_string df.to_json(orientrecords, force_asciiFalse)
print(json_string)14. 处理 JSON 中的时间序列
如果 JSON 数据中包含时间序列可以使用 pd.date_range() 或 pd.to_datetime() 处理。
示例
df pd.DataFrame({date: [2023-01-01, 2023-01-02],value: [10, 20]
})df[date] pd.to_datetime(df[date])
df.set_index(date, inplaceTrue)
print(df)15. 处理 JSON 中的多表数据
如果 JSON 数据包含多个表可以分别读取并合并。
示例
data {table1: [{name: Alice, age: 30}],table2: [{name: Bob, age: 25}]
}df1 pd.DataFrame(data[table1])
df2 pd.DataFrame(data[table2])# 合并两个表
df pd.concat([df1, df2], ignore_indexTrue)
print(df)总结
Pandas 提供了强大的工具来处理 JSON 数据包括读取、写入、展平嵌套结构、处理缺失值等。通过灵活使用这些功能可以轻松地将 JSON 数据转换为 DataFrame 并进行进一步的分析和处理。