资讯动态

pandas 环境数据分析实战:4 个真实场景从读表到出结论

发布时间:2026/10/26 1:50:50 来源:尧图企业网站定制
pandas 环境数据分析实战4 个真实场景从读表到出结论【免费下载链接】pandasFlexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more项目地址: https://gitcode.com/gh_mirrors/pa/pandaspandas 环境数据分析的起点通常是一张带时间戳的观测表气象站的逐小时读数、环境监测机构的浓度记录。这类数据的共性是——时间列要当索引用、必然有缺测、以及需要按时间窗口聚合成趋势。下面的 4 个场景每个都只给出一两个关键 API 的写法。场景一读入观测表先处理时间索引和缺失值仓库自带的示例数据集可以直接用doc/data/air_quality_no2.csv 记录了安特卫普、巴黎、伦敦三个站点从 2019-05-07 开始的 NO₂ 逐小时浓度空单元格就是缺测。读表时顺手把datetime列解析成日期并提为索引后续所有时间操作都建立在索引上df pd.read_csv(air_quality_no2.csv, parse_dates[datetime]) df.index df.pop(datetime)缺测不要先dropna()整行删掉那样会把同一时刻其他站点的有效读数也丢掉。常见做法分三档df.isna().sum()先看每列缺多少短缺段用df.interpolate(methodtime)按时间轴插值对观测序列比线性插位置更合理确实无法恢复的再定向填充。官方文档的缺失值章节对interpolate的method参数有完整说明。场景二长表转宽表、宽表转长表的三种写法三个站点一列的宽表适合画图但要做站点 × 浓度的分组统计时长表更方便。pandas 提供三个互逆的 API# 宽表 → 长表 aq_melt aq_long.melt(id_varsdatetime, var_namecity, value_nameno2) # 长表 → 宽表 aq_long aq_melt.unstack(city)pivot(index..., columns..., values...)则适合两维索引 一维取值的结构化透视比如行是城市、列是日期、值取日均浓度三者的取舍数据规整、无重复组合用pivot只关心拆列或并列用melt/unstack/stack。详见 Reshaping 文档。场景三按时间窗口聚合把小时数据压成日趋势 ⏱逐小时数据量太大出结论前一般先降采样。resample按固定窗口聚合D是日、MS是月初daily df.resample(D).mean() # 日均浓度 monthly df.resample(MS).median() # 月值想同时看分布而不只是均值把聚合换成lambda或quantile即可例如df.resample(D).quantile(0.9)得到每日 90 分位数——判断污染峰值比平均值更有用。需要最近 N 小时这种滑动窗口时用rolling(24).mean()两者别混用resample切分窗口rolling允许窗口重叠。时间序列文档里有对齐方式和origin参数的细节。场景四多站点、多指标数据合并对比 环境数据经常散在多张表里一张 NO₂、一张 PM2.5或者两个城市各存一个文件。同构数据同样的列结构直接pd.concat([df1, df2], ignore_indexTrue)纵向拼接异构数据只有时间列相同用pd.merge(left, right, ondatetime, howinner)按时间对齐合并。注意合并前先确认两表索引语义一致datetime列已解析且时区统一否则merge会按字符串匹配产生大面积错位。合并后常用DataFrame.plot()或直接对接 matplotlib 画多站点对比曲线这一步 pandas 只负责把数据对齐、整理成列对齐的宽表。Merging 文档覆盖了join与merge的差异。下一步把doc/data/下的 air_quality 系列文件NO₂、PM2.5、站点元数据合并练一次mergeresample全流程用df.rolling(24).mean()对比平滑前后的曲线体会滑动窗口与降采样的差别需要更多列式计算性能时看看 pandas 的 ArrowDtype 说明【免费下载链接】pandasFlexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more项目地址: https://gitcode.com/gh_mirrors/pa/pandas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑