numpy基础用法整理(创建,运算符,索引,常用函数)

目录

1 numpy是什么?

2 numpy数组

3 基础用法

1 创建numpy数组的方式

1 从已有数据创建

2 生成元素为0的数组

3 生成随机数的数组

2 创建多维数组

3 numpy数组的基本运算

1 加减乘除(乘法是对应元素相乘)

 2 矩阵乘法要用dot

4 切片操作

5 数组属性

6 数组特殊运算符

1 sum,max,min等方法

2 转置

3 求解方程组

7 索引的进阶

1 花式索引

2 布尔屏蔽

3 缺省索引

4 where


 

学numpy认识numpy

1 numpy是什么?

NumPy是一个主要用于多维数组(矩阵、张量)计算的Python库。

2 numpy数组

提供了一个称为NumPy数组的数据结构。

NumPy数组是Python数组的扩展,配备了大量的函数和运算符。

3 基础用法

1 创建numpy数组的方式

1 从已有数据创建

(其实是把序列(元组,列表)传给array函数,再创建出一个numpy数组)

8fe966d4e14c455facc1137071712ccb.png

67399096ace7480f9f32d80fbc404ba1.png

若要创建一个2D数组(矩阵),需要传递一个列表的列表(或者是一个序列的序列。例:列表的元组)给array()函数。

如果想要一个3D(三维)数组,我们就要传递一个列表的列表的列表(序列的序列的序列)。

my_array2.shape为输出该数组的形状

2 生成元素为0的数组

ac1b16f4bf954921bf4fe7088875cc52.png

同理也有生成1的 

 

c611c50f947e424986ee15b79c237257.png

 (经鉴定,没有np.twos)

3 生成随机数的数组

1 随机小数(介于0-1均匀分布)

da1a48c8eff44687b5441fa4b63d2b89.png

 

2 随机小数(正态分布)

eb8c1163d1714d1abc1bbb611cf6d041.png

均值0,标准差1,维度3*3

 

3 随机整数

d6e449caceb240959f266a43d9f377ef.png

最小值1,最大值10,维度3*3

 

4 步长数组

d19214feeba745a5bf76a9e49c94d16a.png

 endpoint的bool值代表最后一个点是否包含stop参数

 

2 创建多维数组

3118e634ca40484187a5e7b49f8e4a5a.png

 该数组有两个单元

第一个单元的内容是:两行两列的数据。其中:

第一行的数据是1,2   第二行的数据是3,4。

 

第二个单元的内容是:两行两列的数据。其中:

第一行的数据是4,6   第二行的数据是5,6。

 

18a6ac59c74440a18078db5761c75737.png

(3,3,2)代表三个单元,每个单元的内容是3行2列

 491257c1212b4932a71248285a371985.png

 先创建一个59的数组,整形成3*4*5

 

3 numpy数组的基本运算

1 加减乘除(乘法是对应元素相乘)

5dd2af3d1a7346ca9de1b3da0b69b703.png

 2 矩阵乘法要用dot

68dbb0b23c7448fd86b35a23a48d6e60.png

 

4 切片操作

ba6853f97c28492485124f788cfbd2bd.png

 和正常的切片操作差不多,只是要注意自己创建的numpy数组的维度。

5 数组属性

NumPy数组实际上又被称为ndarray

c2508fd919934464bbfd099d6972cbfc.png

 

6 数组特殊运算符

1 sum,max,min等方法

6315125128394effaeb0df1af554c0a2.png

 当为多维数组时需指定axis 每指定一个axis就会降一个维度

14cc25fa6e694d7fa8455c960ad93b2d.png

2 转置

246ed76fac22491c9548bb99c4493ad3.png

思考:为什么x没有被转置

 

3 求解方程组

Ax=b 求解x 

a7a88e93b1f94824a4c5beaca47fe65f.png

7 索引的进阶

1 花式索引

获取多个指定下标的元素,传入参数是列表即可

c06a8bd70dc2482ebb7e02c1fb057211.png

 

2 布尔屏蔽

可自行提供判断条件

a87b75eac55e4a62b6cf42956c686788.png

 e918578058c04229bdf95f784c58b58f.png

 

24e7c02e93db421e8eaa75e5cc1491f8.png

bdce5dfd2f9740d18aa4f739fe1e4809.png

 

3 缺省索引

34a750b6017246d086f2a5b566288365.png

4 where

1 np.where(condition)

返回满足查找条件的元素的下标值的列表,默认返回类型是tuple

3069cf18909346e4932b47fafd5faea1.png

 

2 np.where(condition, x, y)

满足条件(condition),输出x,不满足输出y。

5f7eb43840634546bf5310e08dfd41a4.png

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值