Python库-NumPy
NumPy是一个开源的Python科学计算库,用于快速处理任意维度的数组。
创建NumPy数组
#创建一维数组 list1 = [1,2,3,4]
array1= np.array(list1)#用python列表创建np数组
array1= np.array(range(10))#用python内置range函数创建np数组
array1= np.arange(0,10,2)#numpy方法 .arange创建np数组 #创建多维数组
list2 = [[1,2],[3,4]]
array2 = np.array(list2)
array2 = np.arange(1,5).reshape(2,2)
NumPy数组常用属性
print(array2.ndim)#查看数组维度 numpy数组的ndim属性
print(array2.shape)#查看数组形状
print(array2.size)#查看数组中数据个数
多维数组转化为一维数组
array1 = array2.flatten(order = 'C') #默认情况下‘C’以行为主展开 'F'以列为主展开
NumPy数组转换为list列表tolist()方法
f = np.array([[1,2,3,4],[5,6,7,8]])
list_f = f.tolist() #np中tolist()方法将数组变为列表
print(list_f)
NumPy数组的计算
#数组与数之间的计算,由于NumPy的广播机制,加减乘除的值计算到数组所有元素 #NumPy数组之间的计算,当数组维度相同时 t1 = np.arange(24).reshape((6,4))
t2 = np.arange(100,124).reshape((6,4))
print(t1 + t2)
print(t1 * t2)
output:
[[100 102 104 106]
[108 110 112 114]
[116 118 120 122]
[124 126 128 130]
[132 134 136 138]
[140 142 144 146]]
[[ 0 101 204 309]
[ 416 525 636 749]
[ 864 981 1100 1221]
[1344 1469 1596 1725]
[1856 1989 2124 2261]
[2400 2541 2684 2829]]
NumPy数组的索引及切片
#一维数组,类似list切片
a = np.arange(10)
print(a[0])
print(a[0:10])
print(a[0:6:2])
output:
0
[0 1 2 3 4 5 6 7 8 9]
[0 2 4]
#多维数组
b = np.arange(24).reshape(4,6)
print(b[0])
print(b[0,:])
print(b[0:2,:])#取连续行
print(b[[0,2,3],:])#取不连续行
NumPy数组的添加
a = np.array([[1,2,3],[4,5,6]])
#通过append方法添加
b = np.append(a,[[7,8,9]],axis = 0)#axis = 0,按行添加
c = np.append(a,[[4,5],[7,8]],axis =1)#axis = 1,按列添加
#通过insert方法插入
#np.insert 方法必要参数 (数组,索引,插入的数据)
print(np.insert(a,1,[[0,0]],axis = 1))
print(np.insert(a,1,[[7,8,9]],axis = 0)) output:
[[1 0 2 3]
[4 0 5 6]]
[[1 2 3]
[7 8 9]
[4 5 6]]
NumPy数组常用计算方法
#获取所有数据的最大值 result = np.max(array) #获取某个轴上的最大值 result = np.max(array,axis = 0) #获取某个轴上的最小值 result = np.min(array,axis = 0) #获取某个轴上的平均值 result = np.mean(array,axis = 0) #获取某个轴上的标准差 result = np.std(array,axis = 0)
NumPy数组的转置
array = array.transpose()#NumPy中 .transpose方法实现对数组的转置 array = array.T
Tips:NumPy和Pandas要在实际案例中熟悉,不要强记。官方网站https://www.numpy.org.cn/user/
2020-04-01 17:20 For Leslie Never Forgotten
Python库-NumPy的更多相关文章
- CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)
0.1准备工作 安装好CentOS7,配置好网络,确保网络畅通. 0.2root授权 首先:当前用户为kaid # vim /etc/sudoers 在root ALL=(ALL) ALL之后添加: ...
- python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)
求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axi ...
- python库numpy的reshape的终极解释
a = np.arange(2*4*4) b = a.reshape(1,4,4,2) #应该这样按反序来理解:最后一个2是一个只有2个元素的向量,最后的4,2代表4×2的矩阵,最 ...
- Python数据分析Python库介绍(1)
一直想写点Python的笔记了,今天就闲着无聊随便抄点,(*^__^*) 嘻嘻…… ---------------------------------------------------------- ...
- Python 的 Numpy 库
Numpy: # NumPy库介绍 # NumPy的安装 # NumPy系统是Python的一种开源的数值计算扩展 # 可用来存储和处理大型矩阵. # 因为不是Python的内嵌模块,因此 ...
- python之numpy矩阵库的使用(续)
本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...
- python常用序列list、tuples及矩阵库numpy的使用
近期开始学习python机器学习的相关知识,为了使后续学习中避免编程遇到的基础问题,对python数组以及矩阵库numpy的使用进行总结,以此来加深和巩固自己以前所学的知识. Section One: ...
- Python 机器学习库 NumPy 教程
0 Numpy简单介绍 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy ...
- 浅谈python的第三方库——numpy(终)
本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...
随机推荐
- 死磕Lambda表达式(三):更简洁的Lambda
我们都是阴沟里的虫子,但总还是得有人仰望星空.--<三体> 在之前的文章中介绍了Lambda表达式的基本语法和正确使用姿势,这次我来介绍一些Lambda更简洁的用法. 欢迎关注微信公众号: ...
- java-FileUtils(读取、判断、获取)-(新手)
实例: lx1: import org.apache.commons.io.*; import java.io.File; import java.io.IOException; public cla ...
- MySQL windows中的存储备份
数据备份对于经常在运维部署方面的工作者来说,是一件相对简单的事情,都可以通过某一个SQL工具进行备份,但是如果在项目运行当中,我们需要对数据进行实时,或者是每隔一星期,一个月,等等进行数据的备份,这样 ...
- 为什么Mysql的常用引擎都默认使用B+树作为索引?
一.前言 为了讲清楚这个问题,我们要先了解什么是索引. 我记得刚刚学习数据库的时候,老师喜欢用书本的目录来类比数据库的索引,并告诉我们索引能够像目录一样,让我们更快地找到想要找到的数据. 如果是第一次 ...
- VsCode编辑器那些事
1.怎么改成中文的? 按快捷键“Ctrl+Shift+P” 在框下点击“configur Display language" 会跳转至商店,选择插件下载“Chinese (Simplifie ...
- 分布式专题——详解Google levelDB底层原理
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第10篇文章,我们继续来聊聊LSMT这个数据结构. LSMT是一个在分布式系统当中应用非常广泛,并且原理直观简单的数据结构 ...
- Django CBV加装饰器、Django中间件、auth模块
一. CBV加装饰器 在视图层中,基于函数的视图叫FBV(function base views),基于类的视图叫CBV(class base views).当需要用到装饰器时,例如之前的基于Cook ...
- 自定义实现 PyQt5 下拉复选框 ComboCheckBox
一.前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下 ...
- Linux Namespace 入门系列:Namespace API
Linux Namespace 是 Linux 提供的一种内核级别环境隔离的方法.用官方的话来说,Linux Namespace 将全局系统资源封装在一个抽象中,从而使 namespace 内的进程认 ...
- MySQL----多表操作
##多表之间的关系 1.一对一(了解) * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人. 2.一对多(多对一) * 如:部门和员工 * 分析:一个部门有多个员工,一个员工 ...