将zscore应用于包含多个元组的列表

2024-04-26 07:29:39 发布

您现在位置: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)

Tags: inforvarnpcolumncollistrows
1条回答
网友
1楼 · 发布于 2024-04-26 07:29:39

下面是代码的修改版本: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)

相关问题 更多 >