**
.numpy数组
**
一、numpy数组的创建:
1)、利用arange创建数组
np.arange([start], stop[step],dtype=None)
2)、np.array([1,2,3,4,5,6])
3)、np.array(range(10))
一个示例如下:
二、数据的类型
numpy里求数据的类型:dtype()
numpy中一些常见的数据类型:(图片转载于它处)
数据类型相关的操作
示例代码
# 创建指定数据类型的数组
x = np.array([1,0,1,0],dtype = bool)
x
array([ True, False, True, False])
# 修改数组的数据类型
x = x.astype("int8")
x.dtype
dtype('int8')
# 修改浮点数的小数位数
b = np.array([0.043123,0.011122,0.1233,0.45345])
b
array([0.043123, 0.011122, 0.1233 , 0.45345 ])
# 保留小数点后两位小数
np.round(b,2)
array([0.04, 0.01, 0.12, 0.45])
三、数组的形状
- dtype 数组元素的,数据类型
- size 数组元素的个数
- ndim 数组的维数
- shape 数据的维度大小(以元组形式)
- reshape 改变数组的维度
reshape示例
> a = np.arange(24)
> s = a.reshape(2,3,4)
示例代码图片
数组的转置
矩阵的行列互换得到的新矩阵称为转置矩阵,转置矩阵的行列式不变。numpy中数组的转置,即是借用线性代数中矩阵的转置,实现行与列对调,即第一行变成第一列……或第一列变成第一行……的操作完成转置操作。
常用的三个方法:
1、T
2、transpose()
3、swapaxes()
详情如下图:
> # 创建一个数组
> a2 = np.arange(20).reshape(4,5)
> array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]])
>
> # 方法一,T 实现行与列的对调
>a2.T
>array([[ 0, 5, 10, 15],
[ 1, 6, 11, 16],
[ 2, 7, 12, 17],
[ 3, 8, 13, 18],
[ 4, 9, 14, 19]])
>
> # 方法二: transpose()
> a2.transpose()
> array([[ 0, 5, 10, 15],
[ 1, 6, 11, 16],
[ 2, 7, 12, 17],
[ 3, 8, 13, 18],
[ 4, 9, 14, 19]])
>
> # 方法三、swapaxes(1,0)其中 0表示行,1表示列
> a2.swapaxes(1,0)
> array([[ 0, 5, 10, 15],
[ 1, 6, 11, 16],
[ 2, 7, 12, 17],
[ 3, 8, 13, 18],
[ 4, 9, 14, 19]])
四、数组的运算
示例代码:
a = np.array([[3,4,5,6,7,8],[4,5,6,7,8,9]])
a+1
array([[ 4, 5, 6, 7, 8, 9],
[ 5, 6, 7, 8, 9, 10]])
a*3
array([[ 9, 12, 15, 18, 21, 24],
[12, 15, 18, 21, 24, 27]])
数组和数组之间的计算
ipython中的代码如下例所示:`
...: In [3]: a = np.array([[1,2,3,4],[5,6,7,8]])
...:
...: In [4]: b = np.array([[1,2,3,4],[5,6,7,8]])
...:
...: In [5]: a+b
...: Out[5]:
...: array([[ 2, 4, 6, 8],
...: [10, 12, 14, 16]])
...:
...: In [6]: a*b
...: Out[6]:
...: array([[ 1, 4, 9, 16],
...: [25, 36, 49, 64]])
...:
...: In [7]: a-b
...: Out[7]:
...: array([[0, 0, 0, 0],
...: [0, 0, 0, 0]])
...:
...: In [8]: c = np.array([[2,3,4,5]])
...:
...: In [9]: a+c
...: Out[9]:
...: array([[ 3, 5, 7, 9],
...: [ 7, 9, 11, 13]])
`