一句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可谓如雷贯耳,数据处理神器. 以下符号: = ...
随机推荐
- 浅谈TreeMap以及在java中的使用
treemap结构是红黑树 1.先介绍一下平衡二叉树 其特点是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树.也就是说该二叉树的任何一个子节点,其左右子树的高度 ...
- R语言-探索多个变量
目的: 通过探索文件pseudo_facebook.tsv数据来学会多个变量的分析流程 通过探索diamonds数据集来探索多个变量 通过酸奶数据集探索多变量数据 知识点: 散点图 dplyr汇总数据 ...
- java重定向
package com.sn.servlet; import java.io.IOException; import javax.servlet.ServletException; import ja ...
- Mysql基础安装,初视篇
mysql 跟所有的数据库软件一样分为 服务端和客户端: 下载:在官网里面选择 download 社区版本,mysql,社区版本 安装: win环境下: 第一步:解压文件出来 第二步:在bin文件下 ...
- ABP官方文档翻译 3.1 实体
实体 实体类 聚合根类 领域事件 常规接口 审计 软删除 激活/失活实体 实体改变事件 IEntity接口 实体是DDD(领域驱动设计)的核心概念之一.Eric Evans描述它为"An o ...
- jira + confluence 安装和破解
Window环境: 环境准备 安装JAVA1.8以上版本 安装SQL SERVER 或 MySQL: jira安装和破解 下载安装包 https://downloads.atlassian.com/s ...
- WPF Effect 造成的字体模糊
WPF 里面有个Effect ,暂且可以理解为 "特效" 分类. 但是有时候使用不恰当,容易出现各种毛病. 例如: 代码如下: <StackPanel HorizontalA ...
- 用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)
容器按照持续运行的时间可分为两类:服务类容器和工作类容器. 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等.工作类容器则是一次性任务,比如批处理程序,完成后容 ...
- Halcon一日一练:图像分辨率与像素
1.图像像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子.像素是构成图像的基本单元 ...
- 从此不再担心键盘遮住输入框OC(一)
文/Jiar_(简书作者)原文链接:http://www.jianshu.com/p/48993ff982c1著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 新版本在这里:从此不再担心 ...