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. 深入理解计算机系统 (CS:APP) Lab2 - Bomb Lab 解析

    原文地址:https://billc.io/2019/04/csapp-bomblab/ 写在前面 CS:APP是这学期的一门硬核课程,应该是目前接触到最底层的课程了.学校的教学也是尝试着尽量和CMU ...

  2. Css盒模型属性详解(margin和padding)

    Css盒模型属性详解(margin和padding) 大家好,我是逆战班的一名学员,今天我来给大家分享一下关于盒模型的知识! 关于盒模型的属性详解及用法 盒模型基本属性有两个:padding和marg ...

  3. Lambda表达式学习笔记

    Lambda基础语法 Java8中引入了一个新的操作符" -> ",该操作符被称为箭头操作符或Lambda操作符,箭头操作符将Lambda表达式拆分成两部分: 左侧:Lamb ...

  4. 2019.3.14解题报告&补题报告

    A题 题意: 输入r, c,代表r*c的矩阵,接下来一行,是r个数,代表每一行里最大的数:接下来一行,是c个数,代表每一列中的最大数.求所给数据是否冲突. 思路:判断r个数中最大数maxr和c个数中最 ...

  5. thinkphp5.0.*命令执行批量脚本

    import requests import Queue import threading import time user_agent = "Mozilla/5.0 (Windows NT ...

  6. hdu2795billboard线段树

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/2795/ 题目大意:有一块长方形木板,从上到下被分成h*w的区域,现要将n个长条放进这些区域中,要求从上到下只要后 ...

  7. java 实现全排列

    public List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = n ...

  8. Building Applications with Force.com and VisualForce (DEV401) (四):Building Your user Interface

    Dev 401-004:Application essential:Building Your user Interface: Module Agenda1.Custom Applications2. ...

  9. ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径

    IViewLocationExpander API ExpandViewLocations Razor视图路径,视图引擎会搜索该路径. PopulateValues 每次调用都会填充路由 项目目录如下 ...

  10. Dome_iptest_server

    一个简单的ip测试服务器 打印返回 请求头request import socket def send_data(conn, data=None, status=200): if status != ...