import numpy as np

A = np.arange(2, 14).reshape((3, 4))

# array([[ 2, 3, 4, 5]
# [ 6, 7, 8, 9]
# [10,11,12,13]]) print(np.argmin(A)) # 0
print(np.argmax(A)) # 11
# 两个函数分别对应着求矩阵中最小元素和最大元素的索引。相应的,在矩阵的12个元素中,最小值即2,对应索引0,最大值为13,对应索引为11。 # 如果需要计算统计中的均值,可以利用下面的方式,将整个矩阵的均值求出来:
print(np.mean(A)) # 7.5 #类似前面介绍的写法 A.mean()
print(np.average(A)) # 7.5
#mean和average都是平均的意思,但是在tf中mean用的比较广泛一点 #返回中位数
print(np.median(A)) # 7.5 # cumsum累加函数
# 和matlab中的cumsum()累加函数类似,Numpy中也具有cumsum()函数,其用法如下:
print(A)
print(np.cumsum(A))
# [2 5 9 14 20 27 35 44 54 65 77 90]
'''
在cumsum()函数中:生成的每一项矩阵元素均是从原矩阵首项累加到对应项的元素之和。
比如元素9,在cumsum()生成的矩阵中序号为3,即原矩阵中2,3,4三个元素的和。
cosume是代价花费的意思
''' '''
累差运算函数:该函数计算的便是每一行中后一项与前一项之差。故一个3行4列矩阵通过函数计算得到的矩阵便是3行3列的矩阵。
'''
print(np.diff(A))
# [[1 1 1]
# [1 1 1]
# [1 1 1]] # 这个函数将所有非零元素的行与列坐标分割开,重构成两个分别关于行和列的矩阵。
print(np.nonzero(A))
# (array([0,0,0,0,1,1,1,1,2,2,2,2]),array([0,1,2,3,0,1,2,3,0,1,2,3])) A = np.arange(14,2, -1).reshape((3,4)) # array([[14, 13, 12, 11],
# [10, 9, 8, 7],
# [ 6, 5, 4, 3]]) print(np.sort(A)) # array([[11,12,13,14]
# [ 7, 8, 9,10]
# [ 3, 4, 5, 6]])
'''
同样的,我们可以对所有元素进行仿照列表一样的排序操作,但这里的排序函数仍然仅针对每一行进行从小到大排序操作:
可以看到np.sort函数是对元素按行的顺序进行的排序
''' '''
在这里矩阵的转置有两种表示方法,可以看到转置就是逆时针旋转90度
'''
print(np.transpose(A))
print(A.T) # array([[14,10, 6]
# [13, 9, 5]
# [12, 8, 4]
# [11, 7, 3]])
# array([[14,10, 6]
# [13, 9, 5]
# [12, 8, 4]
# [11, 7, 3]]) '''
这个函数的格式是clip(Array,Array_min,Array_max)
顾名思义,Array指的是将要被执行用的矩阵,而后面的最小值最大值则用于让函数判断矩阵中元素是否有比最小值小的或者比最大值大的元素,并将这些指定的元素转换为最小值或者最大值。
这个函数在做矩阵大小截断规范化的时候很有用
''' print(A)
# array([[14,13,12,11]
# [10, 9, 8, 7]
# [ 6, 5, 4, 3]]) print(np.clip(A,5,9))
# array([[ 9, 9, 9, 9]
# [ 9, 9, 8, 7]
# [ 6, 5, 5, 5]])

  np.arrange().reshape() 能快速生成矩阵

  np.argmax()  np.argmin() 能快速查找最大值和最小值

np.mean 类似tf.mean  当然还可以用average

  np.median()返回中位数

  np.consume()返回累加:个人理解consume是花销的意思,结合实际情况。如果有一个3x2的矩阵代表的是按顺序的花费,那么每一个consume元素代表的就是到当前位置的总花费

  np.diff()  返回后一项的值与这一项之差,相邻项之差计算的是波动?

np.transpose() 返回A.T

np.clip() 返回的是给定限制的矩阵,比如在图像处理的时候,限制rgb的取值就类似此函数

Numpy的学习2-基础转换的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. 安装Linux操作系统,学习Liunx基础

    安装Linux操作系统 遇到的问题以及解决方法 问题1:安装虚拟机时出现以下界面 解决方法 我的电脑--右击--管理--服务和应用服务--服务--在服务里启动:Device Install Servi ...

  3. Linux学习-计算机基础

    Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...

  4. Java学习路线-基础篇!

    下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...

  5. NumPy 数组学习手册·翻译完成

    原文:Learning NumPy Array 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 ...

  6. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  7. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  8. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  9. JavaScript学习02 基础语法

    JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...

随机推荐

  1. FL Studio中如何进行工具栏编辑

    菜单工具栏是我们使用FL Studio时经常需要使用的一个功能,那么,除了软件默认的菜单工具栏,我们应该如何编辑菜单工具栏呢? 图1:工具栏编辑 想要编辑更改默认菜单栏,我们只需要鼠标右键单击菜单工具 ...

  2. mac搭建mnmp环境

    brew安装nginx brew install nginx 安装php56 brew tap homebrew/dupes brew tap josegonzalez/homebrew-php br ...

  3. python3基础2

    # 列表(list.数组).元组.字典 list_ = ["a", "c", 1, 2] print(list_) # list_.append("c ...

  4. CentOS 防火墙常用命令

    1.查看防火墙状态: firewall-cmd --state 2.启动防火墙 systemctl start firewalld 3.关闭防火墙 systemctl stop firewalld 4 ...

  5. 如何在Linux下关闭ARP协议

    方法一:临时关闭ARP协议 echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf ...

  6. 【Java】Java socket通信使用read,readline函数的阻塞问题

    Socket通信是Java网络编程中比较基础的部分,其原理其实就是源ip,源端口和目的ip,目的端口组成的套接字通信.其底层还设及到了TCP协议的通信. Java中的Socket通信可以通过客户端的S ...

  7. CentOS升级参考

    CentOS生产系统升级策略: 1)升级前评估 a)确认kernel或包bug. b)用评估工具 c) 测试验证 2)确认升级内容 a)单独升级kernel b)单独升级包 c)都升级 4)确认升级方 ...

  8. (转)React学习笔记(干货满满)

    1. React 长什么样 React 是 facebook 开源出来的一套前端方案,官网在 https://reactjs.org . 先看一个简单的样子: <!DOCTYPE html> ...

  9. Spring源码解析之BeanFactoryPostProcessor(二)

    上一章,我们介绍了在AnnotationConfigApplicationContext初始化的时候,会创建AnnotatedBeanDefinitionReader和ClassPathBeanDef ...

  10. Beego框架学习--(核心:数据交互)

    Beego框架学习记录 1.beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...