一句Python,一句R︱numpy、array——高级matrix
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python。最好就是一句python,对应写一句R。
python中的numpy模块相当于R中的matirx矩阵格式,化为矩阵,很多内容就有矩阵的属性,可以方便计算。
以下符号:
=R=
代表着在R中代码是怎么样的。
使用之前先载入:
from numpy import *
1、数列构造
构造单一数列
arange(10) =R=1:10 生成一个连贯的数列 arange(3,7) =R=3:7 arange(3,10,2) =R= seq(3, 9, by = 2) array(arange(4)) =R= matrix(1:4)
类似cut分组
np.linspace(2.0, 3.0, num=5) =R= cut(2:3,5) #类似cut功能,在2,3之间分成5份
matrix矩阵组
ma=arange(10).reshape(5,2) #matrix(rep(1:10),nrow=5,ncol=2) 按行或列生成一定规则的 ones((2,3), dtype=int) =R= matrix(rep(1,6),2,3) #矩阵内元素都为1 random.random((2,3)) =R= matrix(runif(6),2,3) #生成随机数
2、矩阵属性
ma.shape #输出5,2(矩阵横纵维度) ma.ndim =R=dim(ma) #维度,dim(data) ma.size #元素总数,5*2
3、矩阵运算
(arange(4).reshape(2,2))* (arange(8).reshape(2,2)) #组内数字相乘 dot( (arange(4).reshape(2,2)),(array([[1,2],[3,5]]))) #矩阵相乘 ma*=2 #ma=ma*2,会原地的改变数组而不是创建一个新的数组
4、矩阵运用函数
ma.sum() ma.min() ma.max() ma.sum(axis=0) =R=apply(b,1,sum) =R=colSums(data) #axis=0代表纵向,列;axis=1,代表横向 ma.cumsum(axis=1) #按行,累计加总的结果ma.sum/min代表所有元素加总.
参考文献:NumPy教程(一)
————————————————————————————————————————
延展一:array的用法
官方网址:https://docs.python.org/2/library/array.html
array模块定义了一种序列数据结构,看起来和list很相似,但是所有成员必须是相同基本类型。
array-固定类型数据序列array作用是高效管理固定类型数值数据的序列。
笔者在使用的时候,觉得array十分特别,笔者这样的新手,感觉有点驾驭不了。
1、生成的过程:
np.array([1,2])
需要np.,笔者在写的时候,常常用R的思维去写...
出错: array(1,2) array([1,2]) np.array([1,2],[1,2])
2、添加数据过程:
a=[] #append a.append([1,2]) #insert a.insert(2,1) a.insert(2,[1,2])
append加在后面,insert(位置,内容)可以加在指定位置。这边笔者又要吐槽自己了...以为又在使用R,如果a是array格式的,append是不可以使用的。只有a=[]元组的时候,才可以append加进去。
注意append用法:其中append用在list之中,在DataFrame/array无法使用
3、切片过程:
>>>Array[0:] ——>切片从前面序号“0”开始到结尾,包括“0”位 [2, 3, 9, 1, 4, 7, 6, 8] >>>Array[:-1] ——>切片从后面序号“-1”到最前,不包括“-1”位 [2, 3, 9, 1, 4, 7, 6] >>>Array[3:-2] ——>切从前面序号“3”开始(包括)到从后面序号“-2”结束(不包括) [1, 4, 7] >>>Array[3::2] ——>从前面序号“3”(包括)到最后,其中分隔为“2” [1, 7, 8]
4、numpy对象纵向合并
用numpy中的concatenation函数进行合并。
————————————————————————————————————————
延展二:range的用法
一开始还是R的思维以为[1:2]就可以得到一个序列,python里面不是,需要range,有点像R里面的rep
range(0,2) =R= [1,2]
range(0,10,2) 0-9每隔2个取数一次
xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。
>>> xrange(5) xrange(5) >>> list(xrange(5)) [0, 1, 2, 3, 4] >>> xrange(1,5) xrange(1, 5) >>> list(xrange(1,5)) [1, 2, 3, 4] >>> xrange(0,6,2) xrange(0, 6, 2) >>> list(xrange(0,6,2)) [0, 2, 4]
一句Python,一句R︱numpy、array——高级matrix的更多相关文章
- python numpy array 与matrix 乘方
python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元 ...
- numpy array或matrix的交换两行
A[j,:] = A[maxindex,:] # 注意这样是一个很低级的错误!这样只是赋值 我们很容易想起python中的两个值交换一句搞定不用引入中间变量 a, b = b, a 但在numpy的a ...
- 使用python解线性矩阵方程(numpy中的matrix类)
这学期有一门运筹学,讲的两大块儿:线性优化和非线性优化问题.在非线性优化问题这里涉及到拉格朗日乘子法,经常要算一些非常变态的线性方程,于是我就想用python求解线性方程.查阅资料的过程中找到了一个极 ...
- python(44):array和matrix的运算
在NumPy中,array用于表示通用的N维数组,matrix则特定用于线性代数计算.array和matrix都可以用来表示矩阵,二者在进行乘法操作时,有一些不同之处. 使用array时,运算符 * ...
- 找出numpy array数组的最值及其索引
在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where ...
- 一句Python,一句R︱数据的合并、分组、排序、翻转
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. python中的numpy模块相当于R中的matirx矩 ...
- 一句Python,一句R︱pandas模块——高级版data.frame
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas可谓如雷贯耳,数据处理神器. 以下符号: = ...
- 一句python,一句R︱模块导入与查看、数据读写出入、数据查看函数、数据类型、遍历文件
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...
- 一句python,一句R︱python中的字符串操作、中文乱码
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas可谓如雷贯耳,数据处理神器. 以下符号: = ...
随机推荐
- Linux学习笔记一
本文记录了Linux中常用的一些东西. 命令生效顺序 第一顺位执行绝对路径或者相对路径的命令 第二顺位执行别名 第三顺位执行Bash的内部命令 第四顺位执行按照$PATH环境变量设置定义的目录顺序的第 ...
- [DeeplearningAI笔记]Batch NormalizationBN算法Batch归一化_02_3.4-3.7
Batch Normalization Batch归一化 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.4正则化网络的激活函数 Batch归一化会使你的参数搜索问题变得很容易,使神经网络 ...
- Python CRM项目七
仿照Django Admin实现对readonly的字段进行设置 功能点: 1.页面不可进行更改 2.如果改变html代码中的值,则需要进行后端的数据库数据校验 3.可以对某些字段进行自定制校验规则 ...
- 用ASOS建立自定义的OpenID 服务(一)-----------简介
翻译文章 原文地址 这一系列共包括9个部分,这是第一部分,下面是英文原文地址: Introduction Choosing the right flow(s) Registering the midd ...
- POJ置换群入门[3/3]
POJ 3270 Cow Sorting 题意: 一个序列变为升序,操作为交换两个元素,代价为两元素之和,求最小代价 题解: 看了黑书... 首先循环因子分解 一个循环完成的最小代价要么是循环中最小元 ...
- ettercap+urlsnarf+driftnet+wireshark监听妹子上网
搞事肯定得确认目标.所以我们得先确认一个目标 确认目标这种事情不多说. 1.开启IP转发 echo 1 > /proc/sys/net/ipv4/ip_forward 然后ettercap ...
- WPF 圆角输入框
今天打算来做一个圆角的输入框 默认输入框: 这个输入框不好看,并且在XP 跟 WIN 7 WIN10 效果 都不太一样 我们今天不用模板的方式,而是 最简单的方式 来实现 圆角 输入框: ----- ...
- java中的foreach用法及总结
增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的. pa ...
- cnblogs的使用
cnblogs的使用 选择使用cnblogs而不是csdn,答案是很明显的.csdn每次创建博客之后会有一段时间的审核期,这大大的影响了用户体验.此外,cnblogs的用户群以及使用模式有着很大的诱惑 ...
- PHPUnit-附录 C. XML 配置文件
[http://www.phpunit.cn/manual/5.7/zh_cn/appendixes.configuration.html] PHPUnit <phpunit> 元素的属性 ...