编写一个名为 compute_deviation
的函数,该函数接受一个包含键和整数列表的字典列表,并返回一个字典,其中包含每个列表的标准差。
注意:请勿使用 NumPy 内置函数。
示例:
输入:
input = [
{
'key': 'list1',
'values': [4,5,2,3,4,5,2,3],
},
{
'key': 'list2',
'values': [1,1,34,12,40,3,9,7],
}
]
输出:
output = {'list1': 1.12, 'list2': 14.19}
该函数 compute_deviation
接受一个字典列表作为输入,其中每个字典包含一个键和一个整数列表。它计算每个列表的标准差,而不使用 NumPy 内置函数,并返回一个包含每个列表标准差的字典。
compute_deviation
的函数,接受一个列表作为输入。# 定义一个函数,计算每个列表的标准差
def compute_deviation(input):
# 创建一个空字典,用于存储结果
result = {}
# 遍历输入列表中的每个字典
for item in input:
# 获取当前字典中的键
key = item['key']
# 获取当前字典中键为'values'的值
values = item['values']
# 计算长度
n = len(values)
# 计算的平均值
mean = sum(values) / n
# 计算方差
variance = sum((x - mean) ** 2 for x in values) / n
# 计算标准差
std_deviation = variance ** 0.5
# 将结果存储在结果字典中
result[key] = std_deviation
# 返回计算得到的结果字典
return result
print(compute_deviation(input_data))
另一个版本的答案是导入’math’ 库,用 math.sqrt()
函数计算标准差:
std_deviation = math.sqrt(variance)
如果使用Numpy,直接用np.std()
计算,不用另外计算平均值和方差。
import numpy as np
def compute_deviation(input):
result = {}
for item in input:
key = item['key']
values = item['values']
std_deviation = np.std(values)
result[key] = std_deviation
return result
NumPy是Python中用于科学计算的重要库,提供了许多常用的计算函数。以下是一些常见的NumPy计算函数的简单总结: