-
注 : np表示numpy的简写, np.xxx()表示类方法, ndarray.xxx()表示通过对象调用方法
-
创建ndarray
-
使用np.array()创建
-
一维数组创建
np.array([1,2,3,4,5])
-
二维数组创建
np.array([[1,2,3],[4,5,6]])
注 : numpy默认所有的数据类型一致, 优先级str>float>int
-
-
-
使用np的routines函数创建
-
创建等差数列
#方式1 np.linespace(1,100,num=10) #方式2 np.arange(0,100,2)
-
返回随机数组
np.random.randint(0,100,size=(4,5)) #如果在调用前固定随机因子np.random.seed(xx),则每次运行产生的随机数都是一样的 np.random.random(size=(5,3))#返回0到1之间的随机数组
-
-
ndarray的属性
ndim : 维度 shape : 形状 size : 总长度 dtype : 元素类型
-
ndarray的基本操作
-
索引
一维与列表完全一致 多维时同理arr[1] arr[1][2]
-
切片
一维与列表完全一致 多维时同理
#获取二维数组的前两行 arr[0:2] #获取二维数组的前两列 arr[:,0:2] #数组列倒序 arr[:,::-1]
-
变形
使用arr.reshape()函数, 参数是一个tuple- 多维变一维
# arr.shape是(6,8) arr.reshape((48,-1)) #-1系统能自动算出来 #arr.reshape((48,))和arr.reshape((48,1))的区别,前者是一维数组,后者是二维数组
-
级联
np.concatenate()np.concatenate((arr1,arr2),axis=?)#0表示逐行(跨行)操作,1表示逐列(跨列)操作,默认是0. 三维数组才有axis=2
注 : 形状相符才能级联, 至少需要行数或列数有一个相同
-
-
聚合操作
- 求和np.sum
- 求平均值np.mean
- ......
-
ndarray的排序
np.sort()不改变输入
ndarray.sort()本地处理, 不占用空间, 但改变输入
#对每一行进行排序(跨列) arr.sort(axis=1)