You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算DataFrame中salary列各向量的标准差

计算DataFrame中salary列每个向量的标准差

给定如下DataFrame:

部门名称salary
销售部[30, 36]
财务部[10, 98]
市场部[20, 22]
信息技术部[40, 90]

解决方案

用pandas结合numpy即可实现,核心是通过apply方法对salary列的每个列表单独计算标准差:

  1. 导入依赖库:
import pandas as pd
import numpy as np
  1. 构造示例DataFrame:
df = pd.DataFrame({
    "部门名称": ["销售部", "财务部", "市场部", "信息技术部"],
    "salary": [[30, 36], [10, 98], [20, 22], [40, 90]]
})
  1. 计算标准差:
# 计算总体标准差(分母为样本数量n,默认ddof=0)
df["salary_std"] = df["salary"].apply(lambda x: np.std(x))

# 若需计算样本标准差(分母为n-1),修改参数:
# df["salary_std"] = df["salary"].apply(lambda x: np.std(x, ddof=1))
  1. 最终结果示例:
    执行后DataFrame会新增标准差列,具体数值如下:
部门名称salary总体标准差样本标准差
销售部[30, 36]3.04.2426
财务部[10, 98]44.062.2254
市场部[20, 22]1.01.4142
信息技术部[40, 90]25.035.3553

说明

  • np.std()默认计算总体标准差,如果是抽样数据需要用ddof=1切换为样本标准差
  • 也可以用statistics.stdev()直接计算样本标准差,但numpy在批量处理时效率更高

内容的提问来源于stack exchange,提问作者Khalil Fall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 02:55:43