NumpyTutorial

本文介绍了如何使用NumPy库在Python中创建和操作数组,包括数组的创建方法、形状修改、基本和布尔索引、轴概念、以及随机数生成的常用函数。
摘要由CSDN通过智能技术生成
import numpy as np

1.1创建数组的方法

a = np.array([1,2,3,4])
b = np.array(range(1,5))
c = np.arrange(1,6)

array : 将输入数据(列表、元组、数组以及其他序列)转换为ndarray(Numpy数组),如不表明(dtype=…),将自动判断,默认复制所有输入数据

array的属性:
  • shape : 返回一个元组,表示array的维度(2,3)两行三列,(2,2,3)两个两行三列
  • ndim : 返回一个数字,表示array的维度的数目
  • size : 返回一个数字,表示array的所有所有数据元素的数目
  • dtype : 返回array中元素的数据类型
1.1.1创建数字序列

np.arrange(5) : 返回array([0,1,2,3,4])
np.arrange(1,10,2) : 返回array([1,3,5,7,9])

1.1.2使用ones创建全是0的数组

np.ones(3) : 返回array([1,1,1])
np.zeros((3,4)) :返回
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]

np.full((2,4),520) : 两行四列的520

1.1.3创建形状相同的数组

np.ones_like(x) :
np.full_like(x) :

1.1.4生成随机数组
import random
np.random.randn()     #一个随机数
np.random.randn(3)    #3个数
np.random.randn(3,2)  #3行2列
np.random.randn(3,2,4)#3块,每块是2行4列

四舍五入:
np.round(a,2)  #变量a,保留两位小数

1.2多维数组

1.2.1修改形状
a.reshape(3,4)
a.flatten()    #不清楚数组中有多少个数,但是展开为一个一维数组
1.2.2数组计算

a ±*/ 2 : 数组中每个数字加减乘除2
相同维数的数组之间可以直接加减乘除
多维数组和一维数组也可以

1.3基础索引与切片

1.3.1基础索引

A[0,0] : 数组的0行0列
A[-1,2] : 数组的最后一行的第2列
A[2] :取第二行的所有列
A[-1] : 取最后一行
A[0:-1] : 取最后一行以外的所有行
A[:2] : 取所有行中的第2列

1.3.2布尔索引
a = np.arange(10)
b = a > 5 
print([b])  #追加False 和 True
print([a[b]]) #6 7 8 9 10
1.3.3神奇索引
a = np.arrange(36).reshape(9,4)
print(a[[4,3,0,6]])  #输出第4,3,0,6行
print(a[1,5,4],[0,3,1])   #输出(1,0),(5,4),(4,1)
print(a[:,[1,2]])  #去所有行的第1,2列

1.4Numpy的轴

1.4.1轴

在这里插入图片描述
在这里插入图片描述

1.4.2数组转置换轴

a.repalce(2,3)
a.transpose : 行列转置
a.swapaxeds(1,0) : 轴转置

1.5随机函数

1.5.1随机状态种子
import random
1.5.2均匀分布中抽取样本

在这里插入图片描述

1.5.3标准正态分布随机数 N(0,1)

在这里插入图片描述

1.5.4随机整数

np.random.randint(3) : 0到3之间的整数
np.random.randint(1,10,size(5,)) : 1到10之间的整数组成一维数组
np.random.randint(1,10,size(5,4)) : 1到10之间的整数组成而且数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值