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

Posted

技术标签:

【中文标题】如何从python中的字典输出中组装时间序列数据以进行监督分类【英文标题】:How to assemble time series data for supervised classification from dictionary output in python 【发布时间】:2016-10-16 19:40:06 【问题描述】:

谁能帮帮我! 我有一个包含键和值的字典。每个键是一个簇标签,与键关联的值是该簇中的数据点。每个数据点是一个包含 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]])

简单来说,我只对没有括号的每一行的值感兴趣,然后将其附加到行中,并将其键作为行中的最后一个数字。

【问题讨论】:

【参考方案1】:

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

input = 0: [['0', '0']], 1: [['0', '0']]
output = []
for key in input.keys():
    input[key].append(key)
    output.append(input[key])

【讨论】:

非常感谢托马斯。但它会抛出一个错误,即 numpy 数组没有附加对象属性。数组中的值也是浮点数而不是字符串。 output.append(numpy.append(input[key], key)) 你可以试试上面的而不是for循环中的2行【参考方案2】:

old_cluster = []

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

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

f_cluster= d_cluster.tolist()

old_cluster.append(f_cluster)

data_cluster=np.asarray(old_cluster)

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

它的簇标签作为最后一个点。

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

for item in data_cluster:

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

【讨论】:

以上是关于如何从python中的字典输出中组装时间序列数据以进行监督分类的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Pandas 在 Python 中对字典中的数据进行排序

读取csv字典变成str了怎么办

如何在django中将python字典动态输出到html?

以最快的方式从数据框 Python 中的索引创建一个新的字典列表

如何确保我的 Python 正则表达式输出字典?

如何从 CSV 创建字典,其中两列作为 Python 中的键 [重复]