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的更多相关文章

  1. CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)

    0.1准备工作 安装好CentOS7,配置好网络,确保网络畅通. 0.2root授权 首先:当前用户为kaid # vim /etc/sudoers 在root ALL=(ALL) ALL之后添加: ...

  2. python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)

    求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axi ...

  3. python库numpy的reshape的终极解释

    a = np.arange(2*4*4) b = a.reshape(1,4,4,2)           #应该这样按反序来理解:最后一个2是一个只有2个元素的向量,最后的4,2代表4×2的矩阵,最 ...

  4. Python数据分析Python库介绍(1)

    一直想写点Python的笔记了,今天就闲着无聊随便抄点,(*^__^*) 嘻嘻…… ---------------------------------------------------------- ...

  5. Python 的 Numpy 库

    Numpy: # NumPy库介绍 # NumPy的安装 #  NumPy系统是Python的一种开源的数值计算扩展 #  可用来存储和处理大型矩阵. #  因为不是Python的内嵌模块,因此 ...

  6. python之numpy矩阵库的使用(续)

    本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...

  7. python常用序列list、tuples及矩阵库numpy的使用

    近期开始学习python机器学习的相关知识,为了使后续学习中避免编程遇到的基础问题,对python数组以及矩阵库numpy的使用进行总结,以此来加深和巩固自己以前所学的知识. Section One: ...

  8. Python 机器学习库 NumPy 教程

    0 Numpy简单介绍 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy ...

  9. 浅谈python的第三方库——numpy(终)

    本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...

随机推荐

  1. 死磕Lambda表达式(三):更简洁的Lambda

    我们都是阴沟里的虫子,但总还是得有人仰望星空.--<三体> 在之前的文章中介绍了Lambda表达式的基本语法和正确使用姿势,这次我来介绍一些Lambda更简洁的用法. 欢迎关注微信公众号: ...

  2. java-FileUtils(读取、判断、获取)-(新手)

    实例: lx1: import org.apache.commons.io.*; import java.io.File; import java.io.IOException; public cla ...

  3. MySQL windows中的存储备份

    数据备份对于经常在运维部署方面的工作者来说,是一件相对简单的事情,都可以通过某一个SQL工具进行备份,但是如果在项目运行当中,我们需要对数据进行实时,或者是每隔一星期,一个月,等等进行数据的备份,这样 ...

  4. 为什么Mysql的常用引擎都默认使用B+树作为索引?

    一.前言 为了讲清楚这个问题,我们要先了解什么是索引. 我记得刚刚学习数据库的时候,老师喜欢用书本的目录来类比数据库的索引,并告诉我们索引能够像目录一样,让我们更快地找到想要找到的数据. 如果是第一次 ...

  5. VsCode编辑器那些事

    1.怎么改成中文的? 按快捷键“Ctrl+Shift+P” 在框下点击“configur Display language" 会跳转至商店,选择插件下载“Chinese (Simplifie ...

  6. 分布式专题——详解Google levelDB底层原理

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第10篇文章,我们继续来聊聊LSMT这个数据结构. LSMT是一个在分布式系统当中应用非常广泛,并且原理直观简单的数据结构 ...

  7. Django CBV加装饰器、Django中间件、auth模块

    一. CBV加装饰器 在视图层中,基于函数的视图叫FBV(function base views),基于类的视图叫CBV(class base views).当需要用到装饰器时,例如之前的基于Cook ...

  8. 自定义实现 PyQt5 下拉复选框 ComboCheckBox

    一.前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下 ...

  9. Linux Namespace 入门系列:Namespace API

    Linux Namespace 是 Linux 提供的一种内核级别环境隔离的方法.用官方的话来说,Linux Namespace 将全局系统资源封装在一个抽象中,从而使 namespace 内的进程认 ...

  10. MySQL----多表操作

    ##多表之间的关系 1.一对一(了解) * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人. 2.一对多(多对一) * 如:部门和员工 * 分析:一个部门有多个员工,一个员工 ...