python数组

Python创建数组

南笙酒味 提交于 2019-12-18 01:46:59
1 创建数组 array函数 >>> a=([1,2],[3,4]) >>> array(a) array([[1, 2], [3, 4]]) arange函数:指定初始值、终值、步长来创建数组 >>> import numpy >>> numpy.arange(0,1,0.1) array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]) linspace函数:通过指定开始值、终值和元素个数来创建一维数组,可以通过endpoint关键字指定是否包括终值,缺省设置是包括终值 >>> numpy.linspace(0,1,10) array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444, 0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ]) logspace函数和linspace类似,不过它创建等比数列,下面的例子产生1(10^0)到100(10^2)、有20个元素的等比数列 >>> numpy.logspace(1,2,20) array([ 10. , 11.28837892, 12.74274986, 14.38449888, 16.23776739, 18.32980711, 20.69138081, 23

前端基础之JavaScript

非 Y 不嫁゛ 提交于 2019-12-16 15:24:41
JavaScript概述 1、ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 2、ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更 2015 ECMAScript 6

python数组array.array(转帖)

让人想犯罪 __ 提交于 2019-12-16 14:29:08
链接地址:https://www.cnblogs.com/sunlong88/articles/9384920.html 关于array: Python 本身没有数组这个说法, 有的就是list和tuple, list就具有其他语言中的数组特性. 至于list和tuple的区别,在于list可以在运行时修改内容和大小,tuple在首次创建和赋值后, 不可以再次修改内部的内容 不过python 有提供一个array模块,用于提供基本数字,字符类型的数组.用于容纳字符号,整型,浮点等基本类型. 这种模块主要用于二进制上的缓冲区,流的操作 比如说修改MP3的ID3V1标签,就可以用到array 以下是array支持的初始化类型 Type code C Type Python Type Minimum size in bytes 'c' char character 1 'b' signed char int 1 'B' unsigned char int 1 'u' Py_UNICODE Unicode character 2 (see note) 'h' signed short int 2 'H' unsigned short int 2 'i' signed int int 2 'I' unsigned int long 2 'l' signed long int 4 'L'

LeetCode 刷题记录 88. Merge Sorted Array

感情迁移 提交于 2019-12-16 02:58:31
题目: Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: The number of elements initialized in nums1 and nums2 are m and n respectively. You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. Example: Input: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 Output: [1,2,2,3,5,6] 解法1: 暴力法 设置两个指针i和j分别指向nums1和nums2 直接用nums2的每一位数字与num1相比较, 如果nums2的数字较小,则需插入到nums1数组中,但是在这之前需要将num1的所有数字都往后移,右移代码nums1[k] = nums1[k-1],考虑到前面的会覆盖后面的,所以我们从后往前遍历,m+j是我们已经排好的数量,所以最后一个要移动的下标为m+j-1

【Python学习之路】Numpy 数组读写

醉酒当歌 提交于 2019-12-15 22:04:02
数组读写 从文本中读取数组 import numpy as np 空格(制表符)分割的文本 假设我们有这样的一个空白分割的文件: % % writefile myfile . txt 2.1 2.3 3.2 1.3 3.1 6.1 3.1 4.2 2.3 1.8 Writing myfile.txt 为了生成数组,我们首先将数据转化成一个列表组成的列表,再将这个列表转换为数组: data = [ ] with open ( 'myfile.txt' ) as f : # 每次读一行 for line in f : fileds = line . split ( ) row_data = [ float ( x ) for x in fileds ] data . append ( row_data ) data = np . array ( data ) data array([[ 2.1, 2.3, 3.2, 1.3, 3.1], [ 6.1, 3.1, 4.2, 2.3, 1.8]]) 不过,更简便的是使用 loadtxt 方法: data = np . loadtxt ( 'myfile.txt' ) data array([[ 2.1, 2.3, 3.2, 1.3, 3.1], [ 6.1, 3.1, 4.2, 2.3, 1.8]]) 逗号分隔文件 % %

【Python学习之路】Numpy 数组与字符串的转换

柔情痞子 提交于 2019-12-15 21:57:50
数组与字符串的转换 tostring 方法 import numpy as np a = np . array ( [ [ 1 , 2 ] , [ 3 , 4 ] ] , dtype = np . uint8 ) 转化为字符串: a . tostring ( ) '\x01\x02\x03\x04' 我们可以使用不同的顺序来转换字符串: a . tostring ( order = 'F' ) '\x01\x03\x02\x04' 这里使用了 Fortran 的格式,按照列来读数据。 fromstring 函数 可以使用 fromstring 函数从字符串中读出数据,不过要指定类型: s = a . tostring ( ) a = np . fromstring ( s , dtype = np . uint8 ) a array([1, 2, 3, 4], dtype=uint8) 此时,返回的数组是一维的,需要重新设定维度: a . shape = 2 , 2 a array([[1, 2], [3, 4]], dtype=uint8) 对于文本文件,推荐使用 loadtxt genfromtxt savetxt 对于二进制文本文件,推荐使用 save load savez 来源: CSDN 作者: DrogoZhang 链接: https://blog.csdn.net

Numpy详细教程

拟墨画扇 提交于 2019-12-14 12:06:34
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。 Numpy基础 NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在 NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。 例如,在3D空间一个点的坐标[1, 2, 3]是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3. [[ 1., 0., 0.], [ 0., 1., 2.]] NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。更多重要ndarray对象属性有: ndarray.ndim: 数组轴的个数

numpy之argmin(), argmax(), argsort()

浪子不回头ぞ 提交于 2019-12-14 05:44:06
argmin(), argmax(), argsort() 以及利用argsort()函数实现数组的升序、降序 import numpy as np a = np . array ( [ 11 , 3 , 5 , 18 ] ) x = np . argmax ( a ) print ( x ) # 返回数组中最大元素的索引值: 3 y = np . argmin ( a ) print ( y ) #返回的是数组中最小元素的索引值: 1 z = np . argsort ( a ) print ( z ) #返回的是将数组a中的元素按升序排列后对应元素的索引值数组: 【1,2,0,3】 w = np . argsort ( - a ) print ( w ) #返回的是将数组a中的元素按降序排列后对应元素的索引值数组: 【3,0,2,1】 a_ascend = a [ z ] print ( a_ascend ) #返回a按升序排列后的数组 : 【3,5,11,18】 a_descend = a [ z [ : : - 1 ] ] print ( a_descend ) #返回a按降序排列后的数组: 【18,11,5,3】 python中argsort()函数的用法 来源: CSDN 作者: 五取蕴_41121879 链接: https://blog.csdn.net/qq

350. 两个数组的交集 II

旧巷老猫 提交于 2019-12-13 21:08:54
ID: 350 TITLE: 两个数组的交集 II TAG: Java,Python,Map 方法一:哈希映射 前面的问题 349. 两个数组的交集 ,我们使用 set 来实现线性时间复杂度。在这里,我们需要使用 HashMap 来跟踪每个数字出现的次数。 我们先在 HashMap 记录一个数组中的存在的数字和对应出现的次数。然后,我们遍历第二个数组,检查数字在 HashMap 中是否存在,如果存在且计数为正,则将该数字添加到答案并减少 HashMap 中的计数。 检查数组的大小并对较小的数组进行哈希映射是一个小细节,当其中一个数组较大时,会减少内存的使用。 算法: 如果 nums1 元素个数大于 nums2 ,则交换数组元素。 对于 nums1 的每个元素,添加到 HashMap m 中,如果元素已经存在则增加对应的计数。 初始化 k = 0 ,记录当前交集元素个数。 遍历数组 nums2 : 检查元素在 m 是否存在,若存在且计数为正: 将元素拷贝到 nums1[k] ,且 k++ 。 减少 m 中对应元素的计数。 返回 nums1 前 k 个元素。 vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { if (nums1.size() > nums2.size()) { return intersect

Python报错:TypeError: data type not understood

坚强是说给别人听的谎言 提交于 2019-12-11 20:26:33
K-Means聚类算法 def randCent(dataSet, k): m, n = dataSet.shape # numpy中的shape函数的返回一个矩阵的规模,即是几行几列 centrodids = np.zeros(k, n) for i in range(k): index = int(np.random.uniform(0, m)) # centrodids[i, :] = dataSet[index, :] return centrodids 报错TypeError: data type not understood 错误在第三行centrodids = np.zeros(k, n) 原来numpy.zeros的用法用错了 numpy.zeros(shape,dtype = float,order ='C' ) 返回给定形状和类型的新数组,并用零填充。 shape:整数或者整数元组例如:(2,1) dtype:数据类型,可选 order:{‘C’,‘F’}可选,默认C 所以应该吧第三行改成centrodids = np.zeros((k, n)) 来源: https://www.cnblogs.com/WQiong/p/12024889.html