Numpy 数组的学习

**

.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]])

`

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值