除了上篇介绍的一些创建数组的函数之外,这篇文章介绍一些numpy中其他的一些常用函数。
- (1)改变数组形状(.T、.reshape()、.resize())
- (2)数组的复制
- (3)数组中元素类型转换a.astype()
- (4)数组堆叠(或数组的组合操作)np.hstack()、np.vstack()、np.concatenate(),np.stack()
- (5)数组的拆分切割操作(hsplit()、vsplit()、split()、array_split()
- (6)数组的简单运算(加减乘除,求幂,均值,求和,方差,标准差,最大值,最小值,中位数)
(1)改变数组形状(.T、.reshape()、.resize())
.T用法
#.T方法,转置。不改变原数组,生成新的数组。
#一维数组转置后不变
#若shape为(2,3),则转置后为(3,2)
#若shape为(2,3,4),则转置后为(4,3,2)
ar1 = np.arange(10)
ar2 = np.ones((2,3))
ar3 = np.zeros((2,3,4))
print('ar1:')
print(ar1.T.shape)
print(ar1.shape)
print('ar2:')
print(ar2.T.shape)
print(ar2.shape)
print('ar3:')
print(ar3.T.shape)
print(ar3.shape)
reshape和resize区别
原数组.reshape(new_shape)以及np.reshape(原数组,new_shape) 都不改变原数组,返回一个新的数组。但是一定要注意,原数组和新数组的元素个数一定要一样。
————
原数组.resize(new_shape)会改变原数组,无返回值。np.resize(原数组,new_shape) 不改变原数组,返回一个新的数组。但是注意,原数组和新数组元素个数可以不一样。
.reshape()用法
import numpy as np
#np.reshape(a, newshape, order='C')
#为数组提供新形状,而不更改元素数据。所以新形状与原形状元素个数要一样
#Returns an array containing the same data with a new shape.
#a.reshape(shape, order='C')
#Returns an array containing the same data with a new shape.
ar1 = np.arange(10)
#用法一:直接将原有数组改变形状。注意:生成一个新的数组,原数组不变
ar2 = ar1.reshape(2,5)
#用法二&#