将z-score应用于包含多个元组的列表

时间:2018-03-17 06:57:23

标签: python

请帮帮我。我开始学习python。我正在尝试做运动。我有一份清单。我想将z分数应用于元组中的数值,并且不要更改元组的初始元素。但结果是,每个元组重复3次。重复同一个名单3次的原因是什么?为什么s,h和y元组在一起听?我为此编写了以下代码:

var= [('S', '10', '13','25','17','29', '30'), ('Y', '2','2.2', '2.7', '3','1', 1.8), ('H', '5.4', '2.1', '3.4','2','1.2', 2.37)]

column=[]
row=[]
for col in var:
    col = (list(col))
    row.append(col[0])
    col.pop(0)
    col = list(map(float, col))

    for rows in col:
        # print(row)
        # print(col)
        rows = (rows - np.mean(col)) / (np.std(col))
        row.append(rows)
    column.append(row)
print(column)

1 个答案:

答案 0 :(得分:0)

以下是您的代码的修改版本:https://repl.it/repls/ImpoliteImpassionedVirtualmachine
基本上,在为每个元组完成z-score计算后,您不会重置名为row的列表。

column=[] .  
row=[] 
for col in var:
    col = (list(col))
    row = []
    row.append(col[0])
    col.pop(0)
    col = list(map(float, col))
    for rows in col:
        # print(row)
        #print(rows)
        rows = (rows - np.mean(col)) / (np.std(col))
        row.append(rows)
    column.append(row)
print(column)