Pandas读取JSON数据后如何筛选denominazione_regione为Veneto的指定行?
代码修改方案
报错原因
你的代码存在两个核心错误:
pandas.read_json()没有index_row这个合法参数,无法在读取阶段直接筛选大区数据- 你把JSON数据的请求链接错误拆分换行,导致请求地址无效会返回404错误
可运行的修改后代码
import pandas as pd # 读取全量大区疫情数据,解析日期字段 df = pd.read_json( 'https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-json/dpc-covid19-ita-regioni.json', parse_dates=['data'] ) # 筛选Veneto大区的所有记录 df_veneto = df[df['denominazione_regione'] == 'Veneto'].copy() # 设置日期为索引并标准化时间格式 df_veneto.set_index('data', inplace=True) df_veneto.index = df_veneto.index.normalize() # 提取新增阳性字段 ts = df_veneto[['nuovi_positivi']].dropna() sts = ts.nuovi_positivi
关键调整说明
- 先读取全量21个大区的所有数据,再通过布尔索引过滤出
Veneto大区的记录 - 过滤完成后再手动将
data字段设置为索引,避免全量数据设索引后筛选性能下降 - 增加
.copy()避免pandas的链式索引警告,保证后续操作的稳定性 - 修正了请求链接的换行错误,保证数据可以正常拉取
内容的提问来源于stack exchange,提问作者Fllecha
相关产品推荐
相关产品推荐

