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]:
In [32]:
np.min(arr_y)
Out[32]:
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 [ ]:
Original: https://blog.csdn.net/manmanlu2006/article/details/124154399
Author: manmanlu2006
Title: Numpy简单例子(2)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/760497/
转载文章受原作者版权保护。转载请注明原作者出处!