云上 pandas 入门:用可核对的小数据验证统计结果

举报
yd_255634577 发表于 2026/11/09 20:33:54 2026/11/09
【摘要】 用小数据校验 pandas 的描述统计、缺失值处理和窗口计算,并区分网络安装与计算错误。

这次云上 Python 练习用了几组小数据,分别检查 pandas 的描述统计、缺失值处理和窗口计算。数据量不大,结果可以手算,便于发现输入或计算上的问题。

一、安装后先跑一个小例子

安装日志返回成功,只能说明依赖已装好。还需要导入 pandas、检查版本并运行最小样例。本次练习使用 pandas 2.3.3:

import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
print(s.mean(), s.sum(), s.std())
print(s.describe())

实际输出分别为 3.0、15、1.5811388300841898。这里 std() 默认计算样本标准差,分母是 N-1,别把它和总体标准差混为一谈。describe() 可以把计数、均值、标准差、最小值、四分位数及最大值放在一起,适合做第一轮数据检查。

二、补零不等于原来的值就是零

先用 count() 看非空样本量,再决定怎样处理缺失值。下面三列数据的非空计数为 4、4、3:

import numpy as np
d = pd.DataFrame({
    'A': [1, 2, np.nan, 4, 5],
    'B': [np.nan, 2, 3, 4, 5],
    'C': [1, 2, 3, np.nan, np.nan]
})
print(d.count())
print(d.fillna(0).sum())

补零后求和得到 A=12、B=14、C=6。这个结果在练习中已核对。但把缺失值补成零,不等于证明原始值就是零。求均值、比较部门或做时间序列时,应先决定缺失值的业务含义,再选择删除、补值或保留。否则程序运行正常,也可能回答了错误的问题。

三、窗口统计别忽略前几行

对同一份序列,滚动窗口和扩展窗口回答的问题不同:

x = pd.Series([3, 5, 2, 6, 9, 8, 5, 7, 4, 6])
print(x.rolling(3).mean())
print(x.expanding().mean())
print(x.cumsum())
print(x.cummax())

三项滚动均值在默认设置下,前两行因窗口未满而是 NaN;第三行为 (3+5+2)/3,约 3.333333。expanding().mean() 则使用截至当前的全部数据。累计求和的最后一项为 55,累计最大值的最后一项为 9。这些能手算的检查点,可以帮助发现输入漏项、粘贴错误或统计对象选错。

四、网络问题与计算问题分开排查

如果华为云 ECS 无法访问外部 PyPI,先查官方内网镜像源说明,而不是反复等待同一个超时。本次在华北-北京四实验环境使用官方内网源完成依赖安装。命令形式如下:

python3 -m pip install pandas \
  -i http://mirrors.myhuaweicloud.com/pypi/web/simple \
  --trusted-host mirrors.myhuaweicloud.com

这个地址是华为云内网源,不是任意电脑都能访问的通用替代源。官方文档列出适用地域,并要求配置华为云内网 DNS。遇到安装失败时,应先确认地域、DNS 与网络条件,再排查包本身;不要把网络超时误判为 pandas 代码错误。

总结

这几组数据适合拿来做基础检查:先确认依赖和输入,再看缺失值与统计口径,最后用手算结果核对输出。安装时的网络问题和计算问题要分开处理。

本文基于实际练习结果整理,使用 AI 辅助编辑。

参考文档

华为云官方 PyPI 内网镜像说明

pandas Series.std 文档:https://pandas.pydata.org/docs/reference/api/pandas.Series.std.html

pandas rolling 文档:https://pandas.pydata.org/docs/reference/api/pandas.Series.rolling.html

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。