版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/PoGeN1/article/details/84204437
一、关键字
- array:创建数组
- dtype:指定数据类型
- zeros:创建数据全为0
- ones:创建数据全为1
- empty:创建数据接近0
- arrange:按指定范围创建数据
- linspace:创建线段
二、创建数组
>>> import numpy as np
>>> a=np.array([1,2,3,4])
>>> a
array([1, 2, 3, 4])
>>> print(a)
[1 2 3 4]
三、指定数据 dtype
>>> a=np.array([1,2,3],dtype=np.int)
>>> print(a)
[1 2 3]
>>> print(a.dtype)
int32
>>> a=np.array([1,2,3],dtype=np.int64)
>>> print(a.dtype)
int64
>>> a=np.array([1,2,3],dtype=np.float)
>>> print(a.dtype)
float64
>>> a=np.array([1,2,3],dtype=np.float32)
>>> print(a.dtype)
float32
四、创建特定数据
创建全零数组
>>> a=np.zeros((3,4))#三行四列
>>> print(a)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
创建全一数组, 同时也能指定这些特定数据的 dtype:
>>> a=np.ones((3,4),dtype=np.float32)
>>> print(a)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
创建全空数组, python中的全空其实也是有值的,只是每个值都是接近于零的数
>>> a=np.empty((3,4))
>>> print(a)
[[3.56043053e-307 1.60219306e-306 2.44763557e-307 1.69119330e-306]
[1.78020848e-306 5.11798224e-307 6.23056330e-307 6.23058028e-307]
[1.11260348e-306 1.37962049e-306 2.22521238e-306 1.24611470e-306]]
用 arange 创建连续数组:
>>> a=np.arange(10,20,2)
>>> print(a)
[10 12 14 16 18]
使用 reshape 改变数据的形状
>>> a=np.arange(12)
>>> print(a)
[ 0 1 2 3 4 5 6 7 8 9 10 11]
>>> a=np.arange(12).reshape((3,4))
>>> print(a)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
用 linspace 创建线段型数据:
开始端1,结束端10,且分割成20个数据,生成线段
>>> a=np.linspace(1,10,20)
>>> print(a)
[ 1. 1.47368421 1.94736842 2.42105263 2.89473684 3.36842105
3.84210526 4.31578947 4.78947368 5.26315789 5.73684211 6.21052632
6.68421053 7.15789474 7.63157895 8.10526316 8.57894737 9.05263158
9.52631579 10. ]
这里需要特别注意,是linspace
,不是linespace
同样也能进行 reshape 工作:
>>> a=np.linspace(1,10,20).reshape((4,5))
>>> print(a)
[[ 1. 1.47368421 1.94736842 2.42105263 2.89473684]
[ 3.36842105 3.84210526 4.31578947 4.78947368 5.26315789]
[ 5.73684211 6.21052632 6.68421053 7.15789474 7.63157895]
[ 8.10526316 8.57894737 9.05263158 9.52631579 10. ]]