【发布时间】:2018-10-08 15:43:26
【问题描述】:
我有一个包含 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) 将其转换为 numpy 数组时,它给了我形状为 (2000,) 的数组,尽管调试显示 testlist 包含 2000 个条目和 88200 个位置。为什么这样?我正在使用 64 位 numpy 和 64 位 Python 3.6.5。
【问题讨论】:
-
您确定
testlist是列表列表吗?例如,您可以打印第一个条目或发送到并发布它们吗? -
请不要在 cmets 或图片中发布此类内容。使用edit 按钮改进您的问题,并将示例发布在代码块中。
-
很好的编辑,谢谢。
标签: python arrays python-3.x list numpy