np.array()使用方法
时间: 2024-06-20 19:03:58 浏览: 174
np.array()是NumPy库中的一个函数,它用于创建NumPy数组对象。使用np.array()可以将Python中的序列(如列表、元组等)转换为NumPy数组对象。以下是一些np.array()的使用方法:
1. 创建一维数组:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
print(a)
输出结果:[1 2 3 4 5]
2. 创建二维数组:
import numpy as np
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
输出结果:
[[1 2 3]
[4 5 6]]
3. 创建特定类型的数组:
import numpy as np
c = np.array([1, 2, 3], dtype = complex)
print(c)
输出结果:[1.+0.j 2.+0.j 3.+0.j]
4. 创建一个全0或全1的数组:
import numpy as np
d = np.zeros((3,4))
print(d)
输出结果:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
e = np.ones((2,3))
print(e)
输出结果:
[[1. 1. 1.]
[1. 1. 1.]]
相关问题
np.array(0) / np.array(0) np.array(0) // np.array(0) np.array([np.nan]).astype(int).astype(float)
这些代码片段都是使用了NumPy库的操作。NumPy是Python中用于科学计算的一个基础包,提供了高性能的多维数组对象以及这些数组的操作工具。
1. `np.array(0) / np.array(0)`:这里创建了两个包含单个元素0的数组,并尝试对它们进行除法操作。由于数学上任何数除以0都是未定义的,所以这个操作的结果会抛出一个`RuntimeWarning`警告,并且返回一个包含`NaN`(Not a Number,非数字)的数组,因为`NaN`是表示不确定值的特殊浮点数值。
2. `np.array(0) // np.array(0)`:这里同样创建了两个包含单个元素0的数组,并尝试对它们进行整数除法操作。整数除法与普通除法不同的是,它会向下取整到最接近的整数。然而,由于0除以0同样是未定义的,这个操作同样会抛出`RuntimeWarning`警告,并且返回一个包含`NaN`的数组。
3. `np.array([np.nan]).astype(int).astype(float)`:这里首先创建了一个包含`NaN`值的数组,然后尝试先将其转换为整数类型,再转换为浮点类型。由于`NaN`不是整数,所以在尝试转换到整数类型时会失败,并且返回一个包含`NaN`的数组,因为`NaN`保持不变。然后,当这个包含`NaN`的数组被转换回浮点类型时,它仍然包含`NaN`值。
import numpy as np np.array(0)/np.array(0) np.array(0)//np.array(0) np.array([np.nan]).astype(int).astype(float)
当你运行 `import numpy as np` 后,你引入了NumPy库并给它起了别名 np,这是一个广泛用于科学计算的Python库。
接下来的三个表达式分别对应:
1. `np.array(0)/np.array(0)`:当你尝试将两个全零的数组相除时,这会导致一个 "ZeroDivisionError",因为除数为零在数学上是未定义的。在NumPy中也是如此,它不会隐式地处理这种边界情况。
2. `np.array(0)//np.array(0)`:这里的“//”表示地板除(integer division),即返回两个数组元素的最大公约数的整数值。由于都是0,地板除的结果将是0,不会报错。
3. `np.array([np.nan]).astype(int).astype(float)`:首先,`np.nan` 表示 Not a Number,是一个特殊的浮点值用来标记缺失的数据。将 `[np.nan]` 转换为整数类型会丢失精度,因为NaN无法转换为整数,所以会保持不变。接着再将其转换回 float 类型,nan 仍然存在。所以最终数组的内容会是 `array([nan])`。
阅读全文