У меня есть список, состоящий из 2000 строк и 88200 столбцов:
testlist = list(split_audio_to_parts(audio, self.sample_rate, self.audio_index))
вывод отладки testlist
дает
[array([-0.00683594, -0.00689697, -0.00708008, ..., 0. ,
0. , 0. ]), array([-0.01287842, -0.01269531, -0.01257324, ..., 0. ,
0. , 0. ]), array([0.02288818, 0.01940918, 0.01409912, ..., 0. , 0. ,
0. ]), array([0.00772095, 0.00671387, 0.00695801, ..., 0. , 0. ,
0. ]),
и так далее.
split_audio_to_parts
- это функция:
def split_audio_to_parts(x, sample_rate, audio_index):
for i, row in audio_index.iterrows():
x_part = x[int(row['start_samples']):int(row['end_samples'])]
yield x_part
Когда я пытаюсь преобразовать его в массив с использованием samples = np.array(testlist)
или samples = np.asarray(testlist)
, он дает мне массив формы (2000,), хотя отладка показывает, что testlist
состоит из 2000 записей с 88200 позициями. Почему так? Я использую 64-битный Numpy и 64-битный Python 3.6.5.