import numpy as np arr=np.arange(16) new_arr=arr.reshape(4,4) new_arr
Out[1]:
array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]])
In [3]:
#T转置 new_arr.T
Out[3]:
array([[ 0, 4, 8, 12], [ 1, 5, 9, 13], [ 2, 6, 10, 14], [ 3, 7, 11, 15]])
In [5]:
new_arr=new_arr.reshape(2,2,4)
In [15]:
new_arr
Out[15]:
array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]])
In [14]:
new_arr.shape
Out[14]:
(2, 2, 4)
In [9]:
#transpose new_arr.transpose()
Out[9]:
array([[[ 0, 8], [ 4, 12]], [[ 1, 9], [ 5, 13]], [[ 2, 10], [ 6, 14]], [[ 3, 11], [ 7, 15]]])
In [13]:
new_arr.transpose().shape
Out[13]:
(4, 2, 2)
In [22]:
new_arr.transpose(2,1,0)
Out[22]:
array([[[ 0, 8], [ 4, 12]], [[ 1, 9], [ 5, 13]], [[ 2, 10], [ 6, 14]], [[ 3, 11], [ 7, 15]]])
In [26]:
new_arr.swapaxes(1,2).shape
Out[26]:
(2, 4, 2)
In [28]:
#2.8数据处理 #条件逻辑转为数组运算 arr_x=np.array([1,5,6]) arr_y=np.array([8,2,1]) arr_con=np.array([True,False,True]) result=np.where(arr_con,arr_x,arr_y) result
Out[28]:
array([1, 2, 6])
In [29]:
np.where(arr_x>2,1,0)
Out[29]:
array([0, 1, 1])
In [31]:
#求和 np.sum(arr_y)
Out[31]:
11
In [32]:
np.min(arr_y)
Out[32]:
1
In [34]:
#累计乘法 np.cumprod(arr_x)
Out[34]:
array([ 1, 5, 30], dtype=int32)
In [35]:
#累计加法 np.cumsum(arr_y)
Out[35]:
array([ 8, 10, 11], dtype=int32)
In [40]:
#可以指定轴 new_arr #new_arr.sum(axis=1)
Out[40]:
array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]])
In [44]:
new_arr.sum(axis=2)
Out[44]:
array([[ 6, 22], [38, 54]])
In [63]:
#排序 arr_sort=np.array([[3,4,5,1],[2,6,1,9]]) #arr_sort.sort() arr_sort.sort(axis=0) arr_sort
Out[63]:
array([[2, 4, 1, 1], [3, 6, 5, 9]])
In [67]:
#all any np.any(arr_sort>2) # np.all(arr_sort>2) #去重 np.unique(arr_sort) #inld np.in1d(arr_sort,[1,9])
Out[67]:
array([False, False, True, True, False, False, False, True], dtype=bool)
In [ ]: