假设数据集存储在一个二维列表中,每一行表示一个个体的评分记录,非零评分用数字表示。下面是一个计算每个个体非零评分平均数的示例代码:
dataset = [
[0, 0, 3, 4, 0],
[1, 2, 0, 0, 5],
[0, 0, 0, 2, 0],
[4, 0, 0, 0, 1]
]
averages = [] # 用于存储每个个体的非零评分平均数
for row in dataset:
nonzero_ratings = [rating for rating in row if rating != 0] # 获取非零评分
if len(nonzero_ratings) > 0:
average = sum(nonzero_ratings) / len(nonzero_ratings) # 计算非零评分平均数
else:
average = 0 # 若没有非零评分,则平均数为0
averages.append(average)
print(averages)
以上代码将输出:[3.5, 2.6666666666666665, 2.0, 2.5],即每个个体的非零评分平均数。