python - Python:使用循环计算列表中值的标准差
问题描述
我正在尝试根据列表中的值计算标准偏差,但我收到错误:
def mean(list):
return sum(list)/len(list)
std_deviation = (sum([(list - mean(list)) ** 2 for number in list]) / (len(list) - 1)**(1/2)
print(std_deviation)
解决方案
你的括号设置错误,而不是list - mean(list)
, 你会想要number - mean(list)
固定版本(没有名称list
,因为它是内置的):
def mean(values):
return sum(values)/len(values)
my_list = [1,2,2,3,4,5,5,8]
std_deviation = (1/(len(my_list) - 1) * sum((number - mean(my_list))**2 for number in my_list))**.5
print(std_deviation) # prints 2.2519832529192065
推荐阅读
- html - 在一页上实现侧导航栏打开 - 在第二页上不起作用
- reactjs - Material UI 响应基于元素大小
- kotlin - Kotlin 中的通用函数
- javascript - 如果子 LI 包含特定类,则将类应用于父 UL
- apache - 让 BOSH 通过跨域资源共享在 converse 上运行
- unity3d - 检测到 Surface 时 Vuforia 是否有事件标志?
- spring-boot - SpringBoot,如何使用 application.properties 禁用缓存
- c# - 为什么微软word文件打不开?
- bash - 无法在 bash 脚本中使用外部变量 cd
- json - 如何在 Swift 4.2 中本地访问不同的 JSON 密钥?