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

如果输入是元组,numpy 数组是否会丢失维度?

如果输入是元组,numpy 数组是否会丢失维度?

开满天机 2023-12-29 16:31:25
我手动定义 numpy 数组的首选方法是在 numpy 的用户指南中看到这样做后输入元组列表。它使跟踪括号变得更容易:但进一步搜索文档,我不知道这是否被视为标准,或者是否有特定的用例。总的来说,它们的工作方式似乎与在列表列表中输入完全相同,除非尝试显式定义二维数组。它自动变成一维数组,而使用相同语法的列表列表则变成二维数组。在下面的代码中,我希望a2具有与 相同的形状b1。他们的不同有什么原因吗?a1 = np.array([1, 1])print(a1.shape) # (2,)a2 = np.array([[1], [1]])print(a2.shape) # (2, 1)b1 = np.array([(1), (1)])print(b1.shape) # (2,)b2 = np.array(((1, 2), (1, -5)))print(b2.shape) # (2, 2)
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

在Python中,单元素元组实际上需要逗号,而不仅仅是括号。没有逗号,(1) == 1. 为了获得您想要的输出,您需要:

b1 = np.array([(1,), (1,)])
b1.shape
# (2, 1)


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

添加回答

举报

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