numpy 辨异(四)—— np.repeat 与 np.tile
>> import numpy as np
>> help(np.repeat)
>> help(np.tile)
- 二者执行的是均是复制操作;
- np.repeat:复制的是多维数组的每一个元素;
- np.tile:复制的是多维数组本身;
1. np.repeat
>> x = np.arange(1, 5).reshape(2, 2)
>> np.repeat(x, 2)
array([1, 1, 2, 2, 3, 3, 4, 4])# 对数组中的每一个元素进行复制# 除了待重复的数组之外,只有一个额外的参数时,高维数组也会 flatten 至一维
当然将高维 flatten 至一维,并非经常使用的操作,也即更经常地我们在某一轴上进行复制,比如在行的方向上(axis=1),在列的方向上(axis=0):
>> np.repeat(x, 3, axis=1)
array([[1, 1, 1, 2, 2, 2],[3, 3, 3, 4, 4, 4]])
>> np.repeat(x, 3, axis=0)
array([[1, 2],[1, 2],[1, 2],[3, 4],[3, 4],[3, 4]])
当然更为灵活地也可以在某一轴的方向上(axis=0/1),对不同的行/列复制不同的次数:
>> np.repeat(x, (2, 1), axis=0)
array([[1, 2],[1, 2],[3, 4]])
>> np.repeat(x, (2, 1), axis=1)
array([[1, 1, 2],[3, 3, 4]])
2. np.tile
Python numpy 下的 np.tile
有些类似于 matlab 中的 repmat
函数。不需要 axis 关键字参数,仅通过第二个参数便可指定在各个轴上的复制倍数。
>> a = np.arange(3)
>> np.tile(a, 2)
array([0, 1, 2, 0, 1, 2])
>> np.tile(a, (2, 2))
array([[0, 1, 2, 0, 1, 2],[0, 1, 2, 0, 1, 2]])>> b = np.arange(1, 5).reshape(2, 2)
>> np.tile(b, 2)
array([[1, 2, 1, 2],[3, 4, 3, 4]])# 等价于
>> np.tile(b, (1, 2))
numpy 辨异(四)—— np.repeat 与 np.tile相关推荐
- numpy 辨异(三)—— hstack/column_stack,linalg.eig/linalg.eigh
1. np.hstack np.column_stack >>> np.hstack([np.array([1, 2, 3]), np.array([4, 5, 6])]) arra ...
- numpy 辨异(二) —— np.identity()/np.eye()
import numpy as np; 两者在创建单位矩阵上,并无区别,两者的区别主要在接口上: np.identity(n, dtype=None):只能获取方阵,也即标准意义的单位阵: np.ey ...
- numpy 辨异 (五)—— numpy.ravel() vs numpy.flatten()
首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflec ...
- numpy 辨异(一) —— reshape 与 resize
0. reshape的参数 reshape的参数严格地说,应该是tuple类型(tuple of ints),似乎不是tuple也成(ints). >>> x = np.random ...
- Numpy.array()详解 、np.array与np.asarray辨析、 np.array和np.ndarry的区别
记录一下numpy.array()的详细用法,以及与np.asarray()和np.ndarray()的区别. 目录 1. Numpy.array()详解 1.1 函数形式 1.2 参数详解 1.3 ...
- np.repeat函数
np.repeat操作!!! numpy.repeat(a,repeats,axis=None); 参数: axis=None,时候就会flatten当前矩阵,实际上就是变成了一个行向量 axis=0 ...
- python中使用numpy包的向量矩阵相乘np.dot和np.matmul
一直对np的线性运算不太清晰,正好上课讲到了,做一个笔记整个理解一下 1.向量和矩阵 在numpy中,一重方括号表示的是向量vector,vector没有行列的概念.二重方括号表示矩阵matrix,有 ...
- numpy高级教程之np.where和np.piecewise
欢迎关注"勇敢AI"公众号,更多python学习.数据分析.机器学习.深度学习原创文章与大家分享,还有更多电子资源.教程.数据集下载.勇敢AI,一个专注于人工智能AI的公众号. = ...
- numpy 下的数据结构与数据类型的转换(np.array vs. np.asarray)
numpy 下的数据结构与数据类型的转换(np.array vs. np.asarray) 原创 2017年02月18日 10:35:43
最新文章
- 初创公司为什么要我_在一家大型初创公司担任副总裁之前,我希望知道什么
- C++ 类 和 对象!
- sort--排序函数
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 2 assignment2_2
- python 效率_Python 运行效率为何低
- 20应用统计考研复试要点(part7)--统计学
- bInitiallyDisabled实现原理
- spring boot redis 分布式锁
- SQL:我为什么慢你心里没数吗?
- 【netty】BIO通讯模型
- java连接mysql数据库 R_Java连接Mysql数据库详细代码实例
- CMSampleBufferRef获取h264 char*数据及sps/pps
- 富士驱动器ALPHA5手动JOG运行操作
- 「高并发秒杀」java使用教程第五版答案
- 解决Office桌面图标异常
- 视觉组学习内容:Zhang-Suen骨架提取算法
- Koo叔说Shader-CG语言介绍
- 百度违规屏蔽关键词工具
- GOTC 大会预告 | Apache Pulsar PMC 成员翟佳:Apache Pulsar 架构设计与原理
- 怎么把视频里的一小段制作成gif图片?教你视频片断做成GIF
热门文章
- linux系统中怎么设置网络,vmware中linux怎么设置网络
- android 多类型参数,Android的数据绑定-类型参数T具有不兼容的上限:ViewDataBinding和MainActivity...
- mysql中datetime有带时区_当服务器时区不是UTC时,从Java中检索来自MySQL的UTC DATETIME字段...
- ✨Synchronized底层实现---偏向锁
- Mysql中循环拼接参数_利用循环向数据库中插入数据,参数重复的问题
- scala集合基本介绍
- LeetCode 106. 从中序与后序遍历序列构造二叉树(递归)
- Linux 完全卸载重装opencv
- CUDA编程:与OpenCV结合
- 每天一算法(二)实现栈的push pop 操作,并可以输出栈的最小值