按列移除缺失值:计算NFL球队数据列标准差的最优方法
解决方法
直接用pandas内置的std()方法就能完美解决你的需求:
- 默认按列计算标准差,不用额外指定轴方向
- 自动忽略每列中的
NaN值,无需手动移除空值 - 一次性处理所有列,完全不用逐个转numpy数组
针对你的数据,只需要一行代码:
column_stds = teams.std()
运行后会返回一个Series,索引是各球队列名,值就是对应列剔除NaN后的标准差。对应你的示例数据:
- team1有效数据为
[40,75],标准差约为24.75 - team2仅有单个有效数据
[30],标准差为NaN(单个数值无标准差) - team3有效数据为
[50,80],标准差约为21.21
如果想把结果转为更易读的DataFrame格式,可再加一步:
column_stds_df = teams.std().to_frame(name='标准差')
这样就能得到一个带明确列名的DataFrame,直接对比各队的标准差即可。
内容的提问来源于stack exchange,提问作者Anthony Petruzzio
相关产品推荐
相关产品推荐

