如何拼接包含部分空子列表的嵌套numpy数组列表
问题原因
你使用的嵌套列表是三层不规则结构:第一层为6个被试,第二层每个被试对应2个实验条件,第三层每个条件对应长度随机(0~4)的epoch数组,没有统一的维度结构,所以直接调用np.array/np.asarray只会生成嵌套的object类型数组,直接np.vstack也无法对齐维度,得不到预期的二维数组。
正确实现方式
先把所有层级的有效一维数组展平到同一个列表里,再直接转换为numpy数组即可:
# 展平三层嵌套列表,收集所有有效数组 flat_arr = [epoch_arr for sbj_data in list_arr for cond_data in sbj_data for epoch_arr in cond_data] # 转换为二维数组 result = np.array(flat_arr) print(result.shape) # 输出 (15, 33)
该写法完全适配你给出的嵌套结构,运行后即可得到符合预期shape的数组。
内容的提问来源于stack exchange,提问作者rpb
相关产品推荐
相关产品推荐

