python数组

Numpy常用函数用法大全

会有一股神秘感。 提交于 2019-12-03 04:13:29
.ndim :维度 .shape :各维度的尺度 (2,5) .size :元素的个数 10 .dtype :元素的类型 dtype(‘int32’) .itemsize :每个元素的大小,以字节为单位 ,每个元素占4个字节 ndarray数组的创建 np.arange(n) ; 元素从0到n-1的ndarray类型 np.ones(shape): 生成全1 np.zeros((shape), ddtype = np.int32) : 生成int32型的全0 np.full(shape, val): 生成全为val np.eye(n) : 生成单位矩阵 np.ones_like(a) : 按数组a的形状生成全1的数组 np.zeros_like(a): 同理 np.full_like (a, val) : 同理 np.linspace(1,10,4): 根据起止数据等间距地生成数组 np.linspace(1,10,4, endpoint = False):endpoint 表示10是否作为生成的元素 np.concatenate(): -数组的维度变换 .reshape(shape) : 不改变当前数组,依shape生成 .resize(shape) : 改变当前数组,依shape生成 .swapaxes(ax1, ax2) : 将两个维度调换 .flatten() :

numpy 基础

♀尐吖头ヾ 提交于 2019-12-03 03:56:23
创建ndarray数组: import numpy as np np.array([2,3]) #创建一个2行3列的一维ndarray数组 常用属性 T 数组的转置(对高维数组而言) dtype 数组元素的数据类型 size 数组元素的个数 ndim 数组的维数 shape 数组的维度大小(以元组形式) 数据类型dtype: bool_ , int(8, 16,32,64), uint(8, 16,32,64), float(16,32,64) 类型转换: astype() 创建ndarray: array() 将列表转换为数组,可选择显式指定dtype arange() range的numpy版,支持浮点数 linspace() 类似arange(),第三个参数为数组长度 beros() 根据指定形状和dtype创建全0数组 ones() 根据指定形状和dtype创建全1数组 empty() 根据指定形状和dtype创建空数组(随机值) eye() 根据指定边长和dtype创建单位矩阵 numpy索引和切片 数组和标量之间的运算 a+1 a*3 1//a a ** 0.5 2. 同样大小数组之间的运算 a+b a/b a**b 数组的索引 a[5] a2[2][3] a2[2,3] 数组的切片 a[5:8] a[:3] = 1 a2[1:2, :4] a2[:,:1] a2[:

python之numpy

别来无恙 提交于 2019-12-03 02:32:54
1.ndarray.ndim 数组的维度 2.ndarray.shape m*n 3.ndarray.size 总元素和 4.ndarray.dtype 数据类型 5.ndarray.itemsize 元素字节大小 1 >>> import numpy as np 2 >>> a = np.arange(15).reshape(3, 5) 3 >>> a 4 array([[ 0, 1, 2, 3, 4], 5 [ 5, 6, 7, 8, 9], 6 [10, 11, 12, 13, 14]]) 7 >>> a.shape 8 (3, 5) 9 >>> a.ndim 10 2 11 >>> a.dtype.name 12 'int64' 13 >>> a.itemsize 14 8 15 >>> a.size 16 15 17 >>> type(a) 18 <type 'numpy.ndarray'> 19 >>> b = np.array([6, 7, 8]) 20 >>> b 21 array([6, 7, 8]) 22 >>> type(b) 23 <type 'numpy.ndarray'> 构造数组 1 >>> import numpy as np 2 >>> a = np.array([2,3,4]) 3 >>> a 4 array([2, 3, 4]) 5 >>> a

C语言实现可扩充的数组

匿名 (未验证) 提交于 2019-12-03 00:37:01
#include "stdafx.h" #include <stdio.h> #include <malloc.h> struct List_Exten { //定义结构体数组 int *A; int n; int c; // capacity }; void List_Init(List_Exten* List ); void List_Append(List_Exten* List , int value); void List_Show(List_Exten* List ); void List_Init(List_Exten* List ) { //初始化数组 List ->c = 1 ; List ->n = 0 ; List ->A = (int*)malloc(sizeof(int)* List ->c); //给A分配内存 } void List_Append(List_Exten* List , int value) { //参考Python 中的append()函数 if ( List ->c == List ->n) { //如果容量满了,扩充2倍 List ->c = 2 * List ->c; int* B = (int*)malloc(sizeof(int)* List ->c); //创建一个数组B,将A的数据copy给B,然后丢弃A

快速排序法

匿名 (未验证) 提交于 2019-12-03 00:34:01
快速排序的平均效率为O(n * long n),最坏的情况为O(n^2),这和之前的选择排序法效率快很多,但也有局限性。 假设有2个数组,一个数组为空,另外一个为1, [_,1] ,那么排序就知道返回的是1,没有可比性,那如果有3个都有值的数组呢? [ 3 , 2 , 1 ] [ 3 , 2 , 1 ] 那么我们取中间的 2 为比较量,把小于2的放在左边,把大于2的放在右边。那么就行成了外部有序的数组,内部是无序的。什么意思呢? 整体看是从小到大的顺序排列,而内部顺序还未排序 [ [无序(小于2的数组)] 2 [无序(大于2的数组)] ] 就是这个意思,那么快速排序法就是将多个元素的数组,一直筛选到没有可比性为止。 python def quicksort (array) : if len(array)< 2 : return array else : index=math.ceil((len(array) - 1 ) / 2 ) piovt=array[index] #选出大于piovt的值 greater=[i for i in array if i > piovt] #选出小于piovt的值 less=[i for i in array if i < piovt] #选出等于piovt的值 center=[array[i] for i in range( 0 ,len

NumPy数组(9)-- 数组的转换

匿名 (未验证) 提交于 2019-12-03 00:29:01
tolist 函数将Numpy中的数组转换为Python中的列表,还可以用 astype 指定转换数组的数据类型。 from numpy import * #tolist astype a = array([1,2,3,4,5,6]) print(a) print(a.tolist()) #将numpy中的数组转换为python中的列表 print("-----------------------1111--------------------------") b = a.reshape(2,3) print(b) print(b.tolist()) print("-----------------------2222--------------------------") a = array([1,2,3,4,5,'6']) print(a.astype(int)) #astype 能够指定数据类型 print("-----------------------3333--------------------------") a = array([1,2,3,4,5,'x']) #print(a.astype(int)) #因为数组a中有字符串x,不能转换为int型,所以会抛出异常 输出结果: [1 2 3 4 5 6] [1, 2, 3, 4, 5, 6] -----------

大数据之Numpy

匿名 (未验证) 提交于 2019-12-03 00:26:01
1、NumPy(Numerical Python)是Python语言的一个扩充程序库。提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库! numeric python 数字化的python numpy中最重要的一个形式叫ndarray (n-表示的是n个; d-dimension,维度; array-数组)。 2、Python 本身支持的数值类型有 int(整型,python2 中存在 long 长整型)、float(浮点型)、bool(布尔型) 和 complex(复数型)。 而 Numpy 支持比 Python 本身更为丰富的数值类型。 ndarray:N维数组对象(矩阵),所有元素必须是相同类型. ndarray属性:ndim属性,表示维度个数;shape属性,表示各维度大小;dtype属性,表示数据类型。 Numpy 中,ndarray 类具有六个参数,它们分别为: shape:数组的形状。 dtype:数据类型。 buffer:对象暴露缓冲区接口。 offset:数组数据的偏移量。 strides:数据步长。 order:{‘C’,’F’},以行或列为主排列顺序

numpy 基础

匿名 (未验证) 提交于 2019-12-03 00:15:02
import numpy as np np.array([2,3]) #创建一个2行3列的一维ndarray数组 常用属性 T 数组的转置(对高维数组而言) dtype 数组元素的数据类型 size 数组元素的个数 ndim 数组的维数 shape 数组的维度大小(以元组形式) 数据类型dtype: bool_ , int(8, 16,32,64), uint(8, 16,32,64), float(16,32,64) 类型转换: astype() array() 将列表转换为数组,可选择显式指定dtype arange() range的numpy版,支持浮点数 linspace() 类似arange(),第三个参数为数组长度 beros() 根据指定形状和dtype创建全0数组 ones() 根据指定形状和dtype创建全1数组 empty() 根据指定形状和dtype创建空数组(随机值) eye() 根据指定边长和dtype创建单位矩阵 数组和标量之间的运算 a+1 a*3 1//a a ** 0.5 2. 同样大小数组之间的运算 a+b a/b a**b 数组的索引 a[5] a2[2][3] a2[2,3] 数组的切片 a[5:8] a[:3] = 1 a2[1:2, :4] a2[:,:1] a2[:,1] 与列表不同,数组切片时并不会自动复制,在切片数组上的修改

numpy基本函数

匿名 (未验证) 提交于 2019-12-03 00:15:02
在学习python的时候常常需要numpy这个库,每次都是用一个查一个,这个,终于见到一个完整的总结了 http://blog.csdn.net/blog_empire/article/details/39298557 一、数组方法 创建数组:arange()创建一维数组;array()创建一维或多维数组,其参数是类似于数组的对象,如列表等 读取数组元素:如a[0],a[0,0] 数组变形:如b=a.reshape(2,3,4)将得到原数组变为2*3*4的三维数组后的数组;或是a.shape=(2,3,4)或a.resize(2,3,4)直接改变数组a的形状 数组组合:水平组合hstack((a,b))或concatenate((a,b),axis=1);垂直组合vstack((a,b))或concatenate((a,b),axis=0);深度组合dstack((a,b)) 数组分割(与数组组合相反):分别有hsplit,vsplit,dsplit,split(split与concatenate相对应) 将np数组变为py列表:a.tolist() 数组排序(小到大):列排列np.msort(a),行排列np.sort(a),np.argsort(a)排序后返回下标 复数排序:np.sort_complex(a)按先实部后虚部排序 数组的插入:np.searchsorted(a

scala数组

匿名 (未验证) 提交于 2019-12-03 00:08:02
scala数组:分为定长数组和变长数组 scala> val arr1 = new Array[Int](8) //只定义8个是整型类型的定长数组,没有赋值,每个数组里面的值是0 arr1: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0) scala> val arr1 = new Array[String](8) //只定义8个是字符串类型的定长数组,没有赋值,每个值显示是为null arr1: Array[String] = Array(null, null, null, null, null, null, null, null) scala> println(arr1) //直接打印数组是一个引用,并没有打印出数组里面的内容。 [Ljava.lang.String;@4973f7dd scala> println( arr1.toBuffer ) //使用toBuffer方法将数组里面的内容转换成数组缓冲里面,将其打印出来。 ArrayBuffer(null, null, null, null, null, null, null, null) 下面是直接赋值方式定义一个数组: scala> val arr2 = Array("java","scala","python") //没有用new是调用的一个静态方法 ,并给数组里面每个元素赋值