代码之家  ›  专栏  ›  技术社区  ›  Umar

如何从python中的字典输出组装用于监督分类的时间序列数据

  •  0
  • Umar  · 技术社区  · 8 年前

    谁能帮我一下吗! 我有一本有关键字和值的字典。每个键都是一个集群标签,与键关联的值是该集群中的数据点。每个数据点都是一个包含60列的列表(即长度为60的时间序列数据)。我想逐行组装这些时间序列,以便进行监督分类,这样每个时间序列数据点都将键(例如0)作为其行中的最后一个值作为其类。(例如:0.1,0.3,0.5,0),其中最后一个值零是类值。这是我真实数据的一部分。

        {0: array([[ 28.7812,  34.4632,  31.3381, ...,  33.3759,  25.4652,  25.8717],
    
        [ 24.8923,  25.741 ,  27.5532, ...,  34.2484,  32.1005,  26.691 ],
    
        [ 31.3987,  30.6316,  26.3983, ...,  33.9002,  29.5446,  29.343 ],
        ..., 
        [ 24.4293,  39.7616,  40.1207, ...,  42.3223,  31.9421,  32.8973],
    
        [ 32.3175,  39.9719,  40.6855, ...,  28.8281,  41.7112,  35.3453],
    
        [ 25.7836,  34.1285,  42.6593, ...,  34.4315,  32.155 ,  34.8388]]),
    
       {1: array([[ 35.7709,  34.396 ,  35.2249, ...,  32.4859,  30.7772,  24.5854],
    
        [ 24.9706,  33.8315,  46.9423, ...,  24.1889,  11.4137,  13.1961],
    
        [ 35.5351,  41.7067,  39.1705, ...,  37.7721,  37.2248,  32.9494],
        ..., 
        [ 28.0747,  41.7835,  42.1198, ...,  38.0344,  46.4582,  44.4323],
    
        [ 33.6696,  38.6754,  39.7419, ...,  34.9395,  36.9095,  39.7494],
    
        [ 30.5729,  41.0741,  44.9793, ...,  24.353 ,  19.7201,  12.7513]])}
    

    更简单地说,我只对不带括号的每行的值感兴趣,然后用它的键作为行中的最后一个数字将其附加到行中。

    2 回复  |  直到 6 年前
        1
  •  0
  •   thomas    8 年前

    我不确定你的输入格式是否正确。。。

    input = {0: [['0', '0']], 1: [['0', '0']]}
    output = []
    for key in input.keys():
        input[key].append(key)
        output.append(input[key])
    
        2
  •  0
  •   Community CDub    4 年前

    old_cluster=[]

    对于范围(0,len(toy_data))中的i:

    d_cluster =np.append(toy_data[i], int(labels[i]))
    
    f_cluster= d_cluster.tolist()
    
    old_cluster.append(f_cluster)
    

    data_cluster=np.asaray(旧集群)

    将数据写入文本文件,其中每一行的每一点都不带括号

    其簇标签作为最后一点。

    以open('mytest.txt','w')作为输出文件:

    for item in data_cluster:
    
        outfile.write("%s\n" % ','.join(map(str,item)))