修改numpy数组结构:将(2429,)格式转换为(2429, 300)二维格式
实现方法
直接调用np.stack对现有数组做堆叠即可:
import numpy as np glove_ds = np.stack(glove_ds)
执行后再输出glove_ds.shape就会得到你需要的(2429, 300)结果。
补充说明
你当前拿到的glove_ds是一维的object类数组,每个元素单独存储一个长度300的向量,所以顶层shape只显示(2429,)。np.stack会把所有子向量在新维度上拼接,形成统一的二维数值数组,原有数据的数值不会发生改变。
如果执行堆叠时报错,可以先校验所有子数组的长度是否一致:
# 检查是否存在长度不符合300的子数组 abnormal_cnt = sum(1 for arr in glove_ds if arr.shape[0] != 300)
如果abnormal_cnt大于0,说明有异常数据需要先处理再堆叠。
内容的提问来源于stack exchange,提问作者Kadaj13
相关产品推荐
相关产品推荐

