【问题标题】:what does the np.array command do?np.array 命令有什么作用?
【发布时间】:2018-06-21 20:56:51
【问题描述】:

关于np.array 命令的问题。

假设使用打印命令显示缓存的内容是

caches = [array([1,2,3]),array([1,2,3]),...,array([1,2,3])]

然后我执行了以下代码:

train_x = np.array(caches)

当我打印 train_x 的内容时,我有:

train_x = [[1,2,3],[1,2,3],...,[1,2,3]]

现在,行为正是我想要的,但并不真正了解np.array(caches) 命令做了什么。谁能给我解释一下?

【问题讨论】:

  • understanding in depth 是一个模糊的请求。我们不知道您做什么或还不知道。我们可以假设您知道什么是 numpy 数组吗?它与list 有何不同? np.array([1,2,3])np.array([[1,2],[3,4]]) 怎么样?
  • 您好,在您的第一个示例中,您创建了一个值为 [1,2,3] 的数组,但它与命令 np.array((1,2,3)) 相同,因为当我执行这行代码我得到了完全相同的结果。 [1,2,3] 的数组。在第二个示例中,您创建一个由数组组成的数组。所以 [1,2] 和 [3,4] 不是值,而是数组的形状。但是对于第二个示例,我不清楚为什么要生成一个包含两个数组但在 1 列和 2 行中的新数组。我希望有一个由 1 行 2 列组成的新数组?
  • 听起来你需要一个基本的了解,而不是深入了解。从基本的 Python 开始 - 列表、列表列表、元组、位置和关键字参数。然后是数组的基础知识——形状、dtype、维数等。

标签: numpy ipython jupyter-notebook


【解决方案1】:

制作一维数组

In [89]: np.array([1,2,3])
Out[89]: array([1, 2, 3])
In [90]: np.array((1,2,3))
Out[90]: array([1, 2, 3])

[1,2,3] 是一个列表; (1,2,3) 是一个元组。 np.array 将它们视为相同。 (listtuple 在创建结构化数组时确实有所不同,但这是一个更高级的主题。)

注意形状是 (3,)(shapetuple

从嵌套列表创建二维数组 - 列表列表:

In [91]: np.array([[1,2],[3,4]])
Out[91]: 
array([[1, 2],
       [3, 4]])
In [92]: _.shape
Out[92]: (2, 2)

np.array 获取数据,而不是 shape 信息。它从数据中推断出形状。

array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

在这些示例中,object 参数是一个列表或列表列表。在这个阶段,我们还没有定义其他参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2012-08-07
    • 2011-06-02
    • 2012-11-27
    • 2015-04-05
    • 2017-10-13
    相关资源
    最近更新 更多