没有合适的资源?快使用搜索试试~ 我知道了~
首页numpy完全详解--jalen.pdf
1、NumPy介绍; 2、NumPy安装使用; 3、数组的创建; 3.1、概述; 3.2、基本创建方式; 3.3、其他创建ndarray的方式1:函数和文件; 3.4、其他创建ndarray的方式2:随机函数; 4、数组输出; 4.1、输出方式; 4.2、打印省略; 5、数组(ndarray)与列表(List); 5.1、应用对比 ; 5.2、矢量化计算; 5.3、广播机制; 6、相关属性与操作; 7、NumPy中的常数; 8、数据类型; 8.1、概述; 8.2、类型转换; 9、改变形状; 10、数组扁平化; 10、索引与切片; 10.1、概述; 10.2、切片; 10.3、索引; 11、数组的存储顺序; 12、NumPy的各种操作运算; 12.1、基本运算; 12.2、指定轴; 12.3、通用函数; 12.4、统计函数; 12.5、增删改; 12.6、交集并集差集; 12.7、链接和拆分; 12.8、判断; 12.9、三目运算符; 12.10、去重; 12.11、排序; 12.12、矩阵乘积; 12.13、复制和视图; 12.14、总结;
资源详情
资源评论
资源推荐
numpy使用 ¶
注意:本次内容使用Anaconda的jupyternotebook工具操作执行
1.安装numpy
如果你已经装有Anaconda,那么你可以使用以下命令通过终端或命令提示符安装NumPy:
condainstallnumpy
如果你没有Anaconda,那么你可以使用以下命令从终端上安装NumPy:
pipinstallnumpy
安装好NumPy后,你就可以启动Jupyternotebook开始学习了。
根据惯例,使用numpy库的导入方式为:
importnumpyasnp
在导入之后,我们可以通过:
print(np.__version__)
来查看Numpyu库的版本信息。
2.小试牛刀
In[1]:
In[2]:
In[3]:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
[0 1 2 3 4 5 6 7 8 9]
numpy.ndarray
list
numpy.ndarray
list
import numpy as np #导入numpy模块,起别名为np
import warnings
warnings.filterwarnings("ignore") # 忽略警告信息
# 调用np的arange函数生成了一个数据序列: 从0-9
data = np.arange(10)
display(data)
print(data)
display(type(data))
# python 列表与数组之间的转化
#(1)list转array
data= list(range(10))
display(type(data))
data=np.array(data)
display(type(data))
#(2)array 转list
data = data.tolist()
display(type(data))
In[4]:
3.数组创建的常用方式
3.1数组的基本创建方式
np.array()
In[5]:
In[6]:
In[7]:
range()和np.arange()对比使用
array([ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
array([ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
numpy.ndarray
array([1, 2, 3, 4, 5])
750 µs ± 85.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
2.76 µs ± 263 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])
# 如果你想使用python来对这个序列进行+2的操作:
data01 = np.arange(10)
data01_1 = data01+2 # numpy
display(data01_1)
data01_2 = []
for i in data01: #原生python
data01_2.append(i+2)
display(np.array(data01_2))
#创建一维数组
import numpy as np #引入numpy模块
list1 = [1,2,3,4,5] #创建一个列表list1
array1 = np.array(list1) #创建一维数组
display(type(array1)) #打印类型
display(array1) #打印数据
#据jupyter用 %timeit 用来检测当前的这一句代码执行需要花费多长时间
aa= range(1000)
%timeit [i**2 for i in aa]
bb = np.arange(1000) # numpy中的列表
%timeit bb**2
# 创建多维数组(二维数组)
import numpy as np
array2 = [[1,2],[3,4],[5,6],[7,8],[9,10]]
array2 = np.array(array2)
display(array2)
# 如果是一维数组:向量
# 如果是二维数组,那么就看做是一个矩阵:numpy给我们提供了一种矩阵的概念:matrix
# 但是是 二维数组的 乘法 和 矩阵的 乘法 会不一致!
In[8]:
In[9]:
np.ones()/np.zeros()/np.full()使用指定值去生成指定维度的数组
In[10]:
.reshape()维度转换
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
array([1, 3, 5, 7, 9])
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
array([1, 3, 5, 7, 9])
array([1. , 3.5, 6. , 8.5])
array([10, 8, 6, 4, 2])
array([[1., 1., 1.],
[1., 1., 1.]])
array([[0., 0., 0.],
[0., 0., 0.]])
array([[8, 8, 8],
[8, 8, 8]])
#range()和np.arange()
# start, stop, step
import numpy as np
list11 = range(10)
list12 = list(range(10)) # python中的range()函数生成list
list13 = list(range(1,10)) # 相当于一个 左闭右开的区间: [0, 10)
list14 = list(range(1,10,2))
display(list11)
display(list12)
display(list13)
display(list14)
display(np.array(list14))
import numpy as np
# start, stop, step
array11 = np.arange(10)
array12 = np.arange(1,10) # np.arange()生成序列
array13 = np.arange(1,10,2) # step范围可以是小数,也可以是负数
array14 = np.arange(1,10,2.5)
array15 = np.arange(10,1,-2)
display(array11)
display(array12)
display(array13)
display(array14)
display(array15)
import numpy as np
array1 = np.ones((2,3)) # 创建值全为1的数组。
display(array1)
array2 = np.zeros((2,3)) # 创建值全为0的数组。
display(array2)
array3 = np.full((2,3),8) # 创建值全为指定值的数组。
display(array3)
In[11]:
np.ones_like()/np.zeros_like()/np.full_like()按照已有的ndarray来进行复制创建
In[12]:
np.empty()空矩阵
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29]])
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]],
[[15, 16, 17],
[18, 19, 20],
[21, 22, 23],
[24, 25, 26],
[27, 28, 29]]])
array([[[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9]],
[[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]],
[[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29]]])
array([[1, 2],
[3, 4],
[5, 6]])
array([[1, 1],
[1, 1],
[1, 1]])
array([[0, 0],
[0, 0],
[0, 0]])
array([[8, 8],
[8, 8],
[8, 8]])
import numpy as np
data22 = np.arange(30)
display(data22)
display(data22.reshape((5, 6)))
display(data22.reshape((6, 5)))
display(data22.reshape((2, 5, 3)))
display(data22.reshape((3, 2, 5)))
# 有一个原则; 最终维度的乘积 一定要相等 不想当不能变形
# 在内存中的布局: C F
import numpy as np
array1 = np.array([[1,2],[3,4],[5,6]])
display(array1)
array2 = np.ones_like(array1) # 复制 n 数组的维度,保持一样的维度,但是元素都是 1
display(array2)
array3 = np.zeros_like(array1) # 复制 n 数组的维度,保持一样的维度,但是元素都是 0
display(array3)
array4 = np.full_like(array1,8) # 复制 n 数组的维度,保持一样的维度,但是元素都是 指定值
display(array4)
np.empty()空矩阵
In[13]:
np.eye()/np.identity()单位矩阵
关于线性代数中,什么叫做单位矩阵?
两个特点:
1、主对角线上的元素都是1
2、行列数也是一样的
矩阵转置也是按照主对角线作为对称轴进行元素的替换的。
In[14]:
np.diag()对角矩阵
np.diag(参数1:v,主对角线数值,参数2:k,对角线元素):K=0表示主对角线,k>0的值选择在主对角线之上的对角线中的元素,k<0的
值选择在主对角线之下的对角线中的元素
array([[0., 0., 0.],
[0., 0., 0.]])
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
import numpy as np
x = np.empty((2,3))
display(x)
# 创建单位矩阵: 行和列一样,并且主对角线的元素都是1
display(np.eye(4)) # 表示生成一个 4行4列的 单位矩阵。 主对角线的元素都是1
display(np.identity(5))
剩余44页未读,继续阅读
Jalendataanalysis
- 粉丝: 297
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0