您的位置:首页 > 编程语言 > Python开发

[Python] Numpy学习笔记(一)

2015-11-06 19:21 651 查看
最近开始学习numpy和pandas的一些东西,顺手做了些笔记,跟大家分享,也方便我以后查阅

Ndarray: 一种多维数组对象

array.shape                         array的规格
array.ndim
array.dtype                         array的数据规格
numpy.zeros(dim1,dim2)              创建dim1*dim2的零矩阵
numpy.arange
numpy.eye(n) /numpy.identity(n)     创建n*n单位矩阵
numpy.array([…data…], dtype=float64 )
array.astype(numpy.float64)         更换矩阵的数据形式
array.astype(float)                 更换矩阵的数据形式
array * array                       矩阵点乘
array[a:b]                          切片
array.copy()                        得到ndarray的副本,而不是视图
array [a] =array [ a, b ]        两者等价
name=np.array(['bob','joe','will']) res=name==’bob’ res= array([ True, False, False], dtype=bool)
data[True,False,…..]                索引,只索取为True的部分,去掉False部分
通过布尔型索引选取数组中的数据,将总是创建数据的副本。
data[ [4,3,0,6] ]                   索引,将第4,3,0,6行摘取出来,组成新数组
data[-1]=data[data.__len__()-1]
numpy.reshape(a,b)                  将a*b的一维数组排列为a*b的形式
array([a,b,c,d],[d,e,f,g])          返回一维数组,分别为[a,d],[b,e],[c,f],[d,g]
array[ [a,b,c,d] ][:,[e,f,g,h] ]=array[ numpy.ix_( [a,b,c,d],[e,f,g,h] ) ]
array.T                             array的转置
numpy.random.randn(a,b)             生成a*b的随机数组
numpy.dot(matrix_1,matrix_2)        矩阵乘法
array.transpose( (1,0,2,etc.) )     对于高维数组,转置需要一个由轴编号组成的元组


[b]ufunc:通用函数,简单函数的矢量化包装


一元ufunc
numpy.sqrt(array)                   平方根函数
numpy.exp(array)                    e^array[i]的数组
numpy.abs/fabs(array)               计算绝对值
numpy.square(array)                 计算各元素的平方 等于array**2
numpy.log/log10/log2(array)         计算各元素的各种对数
numpy.sign(array)                   计算各元素正负号
numpy.isnan(array)                  计算各元素是否为NaN
numpy.cos/cosh/sin/sinh/tan/tanh(array) 三角函数
numpy.modf(array)                   将array中值得整数和小数分离,作两个数组返回

二元ufunc
numpy.add(array1,array2)            元素级加法
numpy.subtract(array1,array2)       元素级减法
numpy.multiply(array1,array2)       元素级乘法
numpy.divide(array1,array2)         元素级除法 array1./array2
numpy.power(array1,array2)          元素级指数 array1.^array2
numpy.maximum/minimum(array1,aray2) 元素级最大值
numpy.fmax/fmin(array1,array2)      元素级最大值,忽略NaN
numpy.mod(array1,array2)            元素级求模
numpy.copysign(array1,array2)       将第二个数组中值得符号复制给第一个数组中值
numpy.greater/greater_equal/less/less_equal/equal/not_equal (array1,array2)
元素级比较运算,产生布尔数组
numpy.logical_end/logical_or/logic_xor(array1,array2)元素级的真值逻辑运算
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: