python数组操作

python numpy的tile函数

冷暖自知 提交于 2019-11-29 00:42:33
tile是numpy.lib.shape_base中的函数,作用就是重复某个数组构成一个新的数组,其help帮助信息如下: Help on function tile in module numpy.lib.shape_base: tile(A, reps) Construct an array by repeating A the number of times given by reps. 也就是将数组A重复reps次,不过特殊的是reps可以是整数,也可以是数组。 对于reps为整数的情况比较好理解,看实际操作, >>> a=eye( 2 ) >>> a array( [[1., 0.], [0., 1.]] ) >>> b=tile(a, 2 ) >>> b array( [[1., 0., 1., 0.], [0., 1., 0., 1.]] ) >>> 以矩阵为整体复制2次,注意,次数包括一开始的那个,也即是实际复制了一次。并且要注意的是,这时复制是在 列向量 方向复制。 再看下reps为数组的情况, >>> a=eye( 2 ) >>> a array( [[1., 0.], [0., 1.]] ) >>> c=tile(a,[ 1 , 2 ]) >>> c array( [[1., 0., 1., 0.], [0., 1., 0., 1.]] ) >>> d

Python-Numpy函数-tile函数

天大地大妈咪最大 提交于 2019-11-29 00:38:18
转载于: http://www.cnblogs.com/GDUT-xiang/p/5700928.html Python-Numpy函数-tile函数 tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组。比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题: 先来引入numpy下的所有方法 我们创建一个a,如图下图,使用tile来创建b,注意看b的数据结构 假如我们输入一个元组(1,2),我们会得到一样的结果,与上面相同的b 当然,我们想要a变为一个二维数组,就要换一种重复的方式了。 b = tile(a,(m,n)):即是把a数组里面的元素复制n次放进一个数组c中,然后再把数组c复制m次放进一个数组b中 1.tile函数的定义与说明    函数格式tile(A,reps)   A和reps都是array_like   A的类型众多,几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。   reps的类型也很多,可以是tuple,list, dict, array, int, bool.但不可以是float, string, matrix类型。 2.函数操作示例 tile ( 1 , 2

numpy1

心已入冬 提交于 2019-11-28 22:53:45
1、NumPy包含的内容   1、ndarrray,高效的多维数组,提供了基于数组的便捷算术操作以及灵活的广播功能;   2、对所有数组对象进行快速的矩阵计算,而无需编写循环;   3、提供对硬盘中的数据的读写工具,并对内存映射文件进行操作;   4、可实现线性变换、随机数生成以及傅里叶变换功能;   特点:NumPy在内部将数据存储在连续的内存块上,这与其他的Python内建序列是不同的,这使得NumPy数组对象的计算速度比其他同内容同操作的对象快(快10—100倍)。 2、每个ndarray对象具备的属性   1、shape属性用来描述数组的维数;   2、dtype属性描述数组的数据类型,它包含了ndarray需要为某一种类型数据所申明的内存块信息,是NumPy能够与其他系统数据灵活交互的原因; 1 import numpy as np 2 data = np.random.randn(2,3) 3 data.shape 4 Out[14]: 5 》(2, 3) 6 data.dtype 7 Out[15]: 8 》dtype('float64') 3、生成ndarray   1、array函数,array函数接受任意的序列型对象(包括数组),生成一个包含传递数据的NumPy数组;接受嵌套序列时,自动转换成多维数组。 1 data1 = [1,2,7.9,0,1] 2

一文搞懂Python中的所有数组数据类型

冷暖自知 提交于 2019-11-28 19:30:50
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。 Github: https://github.com/hylinux1024 微信公众号:终身开发者(angrycode) 数组类型是各种编程语言中基本的数组结构了,本文来盘点下 Python 中各种“数组”类型的实现。 list tuple array.array str bytes bytearray 其实把以上类型都说成是数组是不准确的。这里把数组当作一个广义的概念,即把列表、序列、数组都当作 array-like 数据类型来理解。 **注意本文所有代码都是在 Python3.7 中跑的^_^** 0x00 可变的动态列表list list 应该是 Python 最常用到的数组类型了。它的特点是 可变的、能动态扩容,可存储 Python 中的一切对象,使用时不用指定存储的元素的类型 。 使用非常简单 >>> arr = ["one","two","three"] >>> arr[0] 'one' # 动态扩容 >>> arr.append(4) >>> arr ['one', 'two', 'three', 4] # 删除一个元素 >>> del arr[2] >>> arr ['one', 'two',

如果不懂 numpy,请别说自己是 python 程序员

为君一笑 提交于 2019-11-28 18:59:53
文章目录 0. 前言 1. list VS ndarray 2. dtype AND shape 3. 创建数组 (1) 创建简单数组 (2) 创建随机数组 (3) 在数值范围内创建数组 (4) 从已有数组创建数组 (5) 构造复杂数组 [1] 重复数组 tile [2] 重复元素 repeat [3] 一维数组网格化: meshgrid [4] 指定范围和分割方式的网格化: mgrid 4. 数组操作 (1) 切片和索引 (2) 改变数组的结构 (3) 数组复制 (4) 数组合并 [1] append [2] concatenate [3] stack (5) 数组拆分 (6) 数组排序 [1] numpy.sort() [2] numpy.argsort() (7) 查找和筛选 [1] 返回数组中最大值和最小值的索引 [2] 返回数组中非零元素的索引 [3] 返回数组中满足给定条件的元素的索引 [4] 返回数组中被同结构布尔数组选中的各元素 (8) 增减元素 [1] 在给定索引之前沿给定轴在输入数组中插入值,并返回新的数组 [2] 在给定索引之前沿给定轴删除指定子数组,并返回新的数组 [3] 去除重复元素 (9) 数组IO [1] 保存单个数组到文件 [2] 保存多个数组到文件 [3] 从文件加载数组 [4] 使用文本文件存取数组 5. 常用函数 (1) 舍入函数 [1]

Java基础(四) StringBuffer、StringBuilder原理浅析

空扰寡人 提交于 2019-11-28 14:51:40
原文: http://blog.gqylpy.com/gqy/498 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

shell_Day08

时光毁灭记忆、已成空白 提交于 2019-11-28 13:29:25
数组与字符串: 数组   数组就是一段连续的变量,一段连续的内存存储空间   为了解决变量过多的问题; 在同一类变量中,我们不需要去定义多个名字,而是以数组的方式来定义;(列表)   数组名[索引]=值 定义数组   declare -i 定义整数 (申明)   declare -a 定义数组array   declare -A 定义嵌套的数组   array[8]=1     在计算机语言中,索引一般从0开始计算     索引并不一定是数字     shell中数组赋值,可以跳跃(跳跃赋值)   array=(/var/log/*.log)     做遍历     array=(a b c d e)   array=('a=187' 'b=186' ... ) 通过read命令来赋值   read -t 延迟 -p "指定说明" -a 输入数组所需的变量值   read -a a b c d e 调用数组   ${变量名}   ${数组名[索引]} 定义的是哪个索引,就看到是对应索引指定的值   ${数组名} 默认调用 索引=0 的值 $array(最好不要这样写)   ${数组名[*]} 或者 ${数组名[@]} 调用数组内所有的值 $* $@ 调用数组的数组长度   length("变量")   ${#变量名[*]} 或者 ${#变量名[@]} 添加数组值的特殊方式   $

JavaScript的数据类型详细介绍

你离开我真会死。 提交于 2019-11-28 13:21:16
原文: http://blog.gqylpy.com/gqy/491 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

JS 开发常用工具函数

混江龙づ霸主 提交于 2019-11-28 12:17:22
原文: http://blog.gqylpy.com/gqy/425 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

【Numpy】数组的计算2

大憨熊 提交于 2019-11-28 11:10:39
1. 聚合:最小值、最大值和其他值 当面对大量数据时,第一个步骤通常是计算相关数据的概括统计值,最常用的概括统计值可能是均值和标准差,这两个值都能让你分别概括数据集中的“经典”值,但是其他一些形式的聚合也是很有用的(如求和,乘积,中位数,最大值和最小值,分位数等) numpy有非常快速的内置聚合函数可用于数组 1.1 数组值求和 计算一个数组所有元素的和,可以使用Python本身内置的sum函数来实现: 1 import numpy as np 2 3 l = np.random.random(100) 4 5 sum(l) 6 Out[7]: 52.340268364356575 它的语法与Numpy的sum函数非常相似 1 np.sum(l) 2 Out[8]: 52.34026836435658 但是,因为Numpy中的sum函数是在编译码中执行操作,所以操作计算更快一些 1 big_array = np.random.rand(1000000) 2 3 %timeit sum(big_array) 4 70.5 ms ± 424 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) 5 6 %timeit np.sum(big_array) 7 1.01 ms ± 2.02 µs per loop (mean ±