如何在Python中创建数组

如何在Python中创建数组,python,arrays,python-3.x,numpy,Python,Arrays,Python 3.x,Numpy,正在尝试编写我的第一个python程序。在工作示例程序(脚本)中,某些数据数组的定义如下: x_data = np.random.rand(100).astype(np.float32) 当我随后在Python控制台中键入“x_data”时,它返回 >>> x_data array([ 0.16771448, 0.55470788, 0.36438608, ..., 0.21685787, 0.14241569, 0.20485

正在尝试编写我的第一个python程序。在工作示例程序(脚本)中,某些数据数组的定义如下:

x_data = np.random.rand(100).astype(np.float32)
当我随后在Python控制台中键入“x_data”时,它返回

    >>> x_data
        array([ 0.16771448,  0.55470788,  0.36438608, ...,  0.21685787,
        0.14241569,  0.20485006], dtype=float32)
>>> my_data
    [1, 2, 3, 4, 5]
而且剧本很有效

现在我想使用我自己的数据集。我在尝试这样的陈述

my_data = [1,2,3,4,5]
并用my_数据替换x_数据的使用,但程序无法运行。我注意到,当我在Python控制台中键入“my_data”时,它返回

    >>> x_data
        array([ 0.16771448,  0.55470788,  0.36438608, ...,  0.21685787,
        0.14241569,  0.20485006], dtype=float32)
>>> my_data
    [1, 2, 3, 4, 5]
缺少“array”和“dtype=float32”的部分。我猜这种差异与问题有关

如何声明一个数据集my_data,将其视为x_data,以便将自己的数据输入程序?

我认为这是无关紧要的,但以下是我开始使用的完整示例脚本(有效):


如果只使用
np.array
,numpy将从列表中构造一个数组:

import numpy as np
arr = np.array([1, 2, 3, 4])
请注意,您还可以指定数据类型:

arr_int32 = np.array([1, 2, 3, 4], dtype=np.int32)
arr_float = np.array([1, 2, 3, 4], dtype=np.float64)

还请注意,有时您可能使用的对象可能是列表或numpy数组
np.array
将复制一个数组,如果您将其作为输入传入。出于性能原因,这有时是不可取的。如果您发现自己处于这种情况,您可以使用
np.asarray
,它将非数组转换为数组,但它将返回未触及的数组。

如果您只使用
np.array
,numpy将从列表构造数组:

import numpy as np
arr = np.array([1, 2, 3, 4])
请注意,您还可以指定数据类型:

arr_int32 = np.array([1, 2, 3, 4], dtype=np.int32)
arr_float = np.array([1, 2, 3, 4], dtype=np.float64)

还请注意,有时您可能使用的对象可能是列表或numpy数组
np.array
将复制一个数组,如果您将其作为输入传入。出于性能原因,这有时是不可取的。如果您发现自己处于这种情况,您可以使用
np.asarray
,它将非数组转换为数组,但它将返回未触及的数组。

我猜您来自Matlab

默认情况下,Python方括号表示法不提供任何类型的
数组
:它提供了一个内置类型
列表
的简单对象
numpy
,无处不在的第三方软件包,是您希望用于阵列的软件包。显然你已经有了

下面的第二行将变量从
列表
转换为
numpy
数组,该数组的数据类型与其他数组的数据类型相同
x_数据

my_data = [1,2,3,4,5]
my_data = np.array(my_data, dtype=np.float32)

我猜你是从Matlab来的

默认情况下,Python方括号表示法不提供任何类型的
数组
:它提供了一个内置类型
列表
的简单对象
numpy
,无处不在的第三方软件包,是您希望用于阵列的软件包。显然你已经有了

下面的第二行将变量从
列表
转换为
numpy
数组,该数组的数据类型与其他数组的数据类型相同
x_数据

my_data = [1,2,3,4,5]
my_data = np.array(my_data, dtype=np.float32)

我一直避免使用Matlab和Python。我是在C++上长大的。谢谢你的快速帮助!我一直避免使用Matlab和Python。我是在C++上长大的。谢谢你的快速帮助!