1. numpy的引入:
import numpy as np
2. 列表转化为矩阵
In [2]: import numpy as np
In [3]: array=np.array( [ [1,2,3],[2,3,4] ] )
In [4]: print array
[[1 2 3]
[2 3 4]]
3. numpy 的属性:
ndim
:维度shape
:行数和列数size
:元素个数- dtype : 数组中元素的类型
Out[5]: (2L, 3L)
In [6]: array.size
Out[6]: 6
In [7]: array.ndim
Out[7]: 2
In [21]: array.dtype
Out[21]: dtype('int32')
4. Array的创建形式
array
:创建数组dtype
:指定数据类型zeros
:创建数据全为0ones
:创建数据全为1empty
:创建数据接近0arrange
:按指定范围创建数据linspace
:创建线段
1)创建指定数据类型的数组
In [22]: a=np.array([12.3,23.6],dtype=np.float)In [23]: print a
[ 12.3 23.6]
In [24]: a.dtype
Out[24]: dtype('float64')
2)创建特定数据的数组
指定数组的值
aa=np.array([[23,45],[12.4,45.9]])
3)创建全零的数组
In [30]: a=np.zeros((2,3))
In [31]: a
Out[31]:
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
4) 创建全一的数组,同时可以指定特定的数据类型
In [32]: b=np.ones((2,3),dtype=float)
In [33]: b
Out[33]:
array([[ 1., 1., 1.],
[ 1., 1., 1.]])
5)创建全空数组, 其实每个值都是接近于零的数:
In [34]: b=np.empty((2,3),dtype=float)
In [35]: print b
[[ 0. 0. 0.]
[ 0. 0. 0.]]
6) 用 arange
创建连续数组:
In [36]: a=np.arange(3,10,3) # 3-9即[3,9],步长为3
In [37]: a
Out[37]: array([3, 6, 9])
7) 使用 reshape
改变数据的形状
In [38]: a=np.arange(12).reshape(2,6)
In [39]: a
Out[39]:
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
8) 用 linspace
创建线段型数据:
In [42]: a = np.linspace(1,10,20).reshape(2,10) # # 开始端1,结束端10,且分割成20个数据,生成线段
In [43]: a
Out[43]:
array([[ 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. ]])
9) 创建随机数组:numpy.random.normal 为正态随机数,numpy.random为其它随机数。
In [44]: np.random.rand(2,3)
Out[44]:
array([[ 0.14843641, 0.23821911, 0.08213367],
[ 0.58090552, 0.90623027, 0.20897956]])