Python Numpy 矩阵级基本操作(2)
1、开方与求e指数
import numpy as np
from numpy.matlib import randn print "Test sqrt and exp"
arr = np.arange(10)
print np.sqrt(arr)#开方
print np.exp(arr)#求exp

2、条件Merge
print "test max-merge" #取x和y中对应位置较大的item组成新数组
x=randn(8)
y=randn(8)
print x;print y;print np.maximum(x,y) print "test condition-merge" #根据condition matrix,true时取tMat,false取fMat
tMat = np.arange(10)
fMat = np.arange(0,-10,-1)
conMat = [True,False,True,False,True,False,True,False,True,False]
result=np.where(conMat,tMat,fMat) #condition clause
print result
rdmMat = randn(10)
result=np.where(rdmMat>0,tMat,fMat) #the three matrix should have same size
print result

3、Statistic functions
print "test statistics functions"
rdmMat1 = randn(10,3)
print rdmMat1.mean() #计算所有元素的均值
print np.mean(rdmMat1)
print np.mean(rdmMat1, 0) #column mean
print np.mean(rdmMat1, 1) #row mean
print np.sum(rdmMat1)
print np.sum(rdmMat1,0) #column sum
print np.sum(rdmMat1,1) #row sum

4、布尔函数
print "test bool functions"
rdmMat2 = randn(10)
numberOfTrue = (rdmMat2>0).sum() #true的个数
print numberOfTrue
rdmMat3 = np.array([True,True,False,True])
print rdmMat3.any() #是否含有至少一个true
print rdmMat3.all() #是否全为true
5、排序函数
print "test sort"
print np.sort(rdmMat2) #np.sort() doesn't change the original matrix
print rdmMat2
rdmMat2.sort() #python's sort changes the matrix
print rdmMat2
rdm53 = randn(5,3)
print np.sort(rdm53,1)
print rdm53
rdm53.sort(1)
print rdm53
rdm53.sort(0)
print rdm53
6、包含操作
print "test set operation"
names = np.array(['Tom','Dean','Won','Tom','Tom','Dean'])
print np.unique(names)#取出唯一的项,按照字典序排列
print np.unique(names,1,1,1)
#第二个参数,会给出这几个值第一次出现的索引
#第三个参数,会给出这几个值出现的所有索引位置
#第四个参数,给出这几个值出现的次数

7、测试两个数组内各个元素元素的包含关系
print "test in1d"
arrayA = np.array([3,6,9,3,3,6,6,9,9])
arrayB = np.array([3,7,9])
print np.in1d(arrayB,arrayA)
print np.in1d(arrayA,arrayB)

Python Numpy 矩阵级基本操作(2)的更多相关文章
- Python Numpy 矩阵级基本操作(1)
NumPy的操作介绍 import numpy as np #导入numpy包,简写为np print "Generate 1*10 matrix" a=np.arange(1,1 ...
- python numpy 矩阵左右翻转/上下翻转
numpy API: flattened flip() (in module numpy) fliplr() (in module numpy) flipud() (in module numpy) ...
- Python NumPy学习总结
一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...
- Python numpy中矩阵的用法总结
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...
- python之numpy矩阵库的使用(续)
本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...
- Python Numpy基础教程
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)
Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...
- Python数据分析库pandas基本操作
Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...
随机推荐
- 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧
实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...
- python自带的split VS numpy中的split比较
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 str1.split() 里面的参数,可以是空格,逗号,字符串啥的,具体应用与 ...
- 数据库——MySQL乐观锁与悲观锁
乐观锁与悲观锁 一.悲观锁 悲观锁的特点是“先获取锁,再进行业务操作“”.即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作 读取某几行数据时会给他们加上锁,其他的要修改数 ...
- 关于曲线 规划 算法 线性 S曲线 贝塞尔曲线
工控领域经常会涉及速度加减速的算法:线性加减速,S曲线加减速(sin函数,拓展其他三角函数曲线), 贝塞尔曲线,等等. 线性加减速: 设定起始速度V0,目标速度V1,加速时间Ta(s,或加速度) ...
- css设置图片的高等于图片的高
<div class="box"> <img src="img/2222.jpg" /> </div> .box { pos ...
- 45-python基础-python3-字符串-常用字符串方法(三)-startswith()-endswith()
4-字符串方法 startswith()和 endswith() startswith()和 endswith()判断字符串是否以某个字符串开始或结尾,存在返回 True,否则,方法返回 False. ...
- webpack4入门到进阶案例实战课程
愿景:"让编程不在难学,让技术与生活更加有趣" 更多教程请访问xdclass.net 第一章 webpack4前言 第一集 webpack4入门到进阶案例实战课程介绍 简介:讲述w ...
- go中变量的使用
// 变量的使用 package main import "fmt" // 定义多个全局变量 var ( globalName = "Jackie" globa ...
- webpack + vue 打包生成公共配置文件(域名) 方便动态修改
需求原因 原来的项目中域名是打包到项目里面的,打包后不能动态配置,只能通过不同的指令打包来切换域名,每天都在测试域名和正式域名来回摩擦,后台大佬说你们可以生成一个配置文件这样就不用频繁打包了直接修改配 ...
- ES6新增语法和内置对象(let,const, Array/String/Set 扩展方法(解构赋值,箭头函数,剩余参数))
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量 ...