我正在尝试使用tslearn库来分析音频numpy文件。该文件具有45K行(45K音频样本)和1列,但是每一行都有一个嵌套对象(N,13)。因此,在特征相同的情况下,每个样本的长度是不同的(13个特征)。我想将它们全部拉伸到93行,这意味着如果我打印其中任何一个的形状,它将返回(93,13)。
,但只会更改列而不是行。因此基本上,如果我有一个数组(44,13),它将把数组形状更改为(44,93)而不是(93.13)。因此,我尝试将阵列旋转90度并重做分析,但是由于数据集本身仅为一维且带有45K嵌套对象,因此我不得不制作一个空列表,使用for循环取出每个对象,将它们旋转90度,然后将它们放回清单。然后,我尝试将列表改回数组,因为tslearn.preprocessing.TimeSeriesResampler仅接受数组作为参数。但是,它告诉我“ ValueError:在尝试将列表传输回数组时,无法将输入数组从形状(13,41)广播到形状(13)”。
int a = 1;
long b = a; // compiles due to implicit conversion
我该怎么办?如果有更简单的方法来旋转嵌套数组,请也告诉我。谢谢!
答案 0 :(得分:0)
这符合要求吗?
item
循环中的spoken_train
必须具有相同的列数。根据您的示例,th {
position: relative;
max-width: 5px;
}
中的所有数组的最后一个维数必须为13。
答案 1 :(得分:0)
lis = np.copy(z) #since they have the same number of arrays
for i in range(len(spoken_train)):
lis[i] = np.rot90(spoken_train[i])