为了账号安全,请及时绑定邮箱和手机立即绑定

numpy 数组上的 .shape 是否检测嵌套数组或嵌套列表?

numpy 数组上的 .shape 是否检测嵌套数组或嵌套列表?

MMMHUHU 2023-04-18 16:44:27
我正在使用 numpy 中的 100x3 字符串数据框,但这个问题涉及一列,因此是一个 100x1 的 pandas 系列。我使用此函数将其转换为 100x8x8x1 的棋盘阵列:def boardToNPArray(x):    x = chess.Board(x)    x=x.__str__()    x = x.split("\n")    for n in range(len(x)):        x[n] = np.array(x[n].split()).reshape(8,1)    return np.array(x)asdf['FEN'] = asdf['FEN'].apply(lambda x : boardToNPArray(x))这应该使它成为一个长度为 100 的数据帧,其中包含 8x8x1 的棋盘 numpy 数组。然后我执行 asdf['FEN'].values 将数据帧转换为 numpy 数组。asdf['FEN'].values# Which returnsarray([array([[['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.']],       [['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.']],       [['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['k'],        ['.'],        ['.']],       [['R'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['p'],        ['.']],       [['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['P'],        ['.']],       [['.'],        ['.'],        ['K'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.']],       [['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.']],       [['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['.'],        ['r'],        ['.']]], dtype='<U1'),# This is one 8x8x1 entry in the 理论上,这应该可以达到我的目标——一个 100x8x8x1 的 numpy 数组。然而,在跑步时asdf['FEN'].shape它返回(100,)而在跑步的时候asdf['FEN'][0].shape它返回(8,8,1)两者的 type() 都是 numpy.ndarray 为什么这不是 100x8x8x1 数组?
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

尝试应用于numpy.stack以下结果Series.values

s = pd.Series(map(np.array,map(list,['asdf','qwer'])))
np.stack(s.values).shape # (2,4)


查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信