2-2array结构

In [1]:
import numpy as np
 

对于ndarra结构来说,里面所有的元素必须 是同一类型的如果不是的话,会自动的向下进行转换

In [2]:
tang_list=[1,2,3,4,5]
tang_array=np.array(tang_list)
tang_array
Out[2]:
array([1, 2, 3, 4, 5])
In [3]:
type(tang_array)
Out[3]:
numpy.ndarray
In [4]:
tang_array.dtype#数据类型
Out[4]:
dtype('int32')
In [5]:
tang_array.itemsize#查看里面的元素占多少个字节
Out[5]:
4
In [6]:
tang_array.shape#查看是多大,多少维
Out[6]:
(5,)
In [7]:
tang_array.size#只查看大小
Out[7]:
5
In [8]:
np.size(tang_array)#只查看大小
Out[8]:
5
In [9]:
np.shape(tang_array)#看维度和大小
Out[9]:
(5,)
In [10]:
tang_array.ndim#只看维度
Out[10]:
1
In [11]:
tang_array.fill(0)#填充替换
tang_array
Out[11]:
array([0, 0, 0, 0, 0])
 

索引与切片

In [12]:
tang_list=[1,2,3,4,5]
tang_array=np.array(tang_list)
tang_array[0]
Out[12]:
1
In [13]:
tang_array[1:3]
Out[13]:
array([2, 3])
In [14]:
tang_array[-2:]
Out[14]:
array([4, 5])
 

矩阵格式(多维度形式)

In [15]:
tang_array=np.array([[1,2,3],
                   [4,5,6],
                   [7,8,9]])
tang_array
Out[15]:
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
In [16]:
tang_array.shape
Out[16]:
(3, 3)
In [17]:
tang_array.size
Out[17]:
9
In [18]:
tang_array.ndim
Out[18]:
2
In [19]:
tang_array[1,1]
Out[19]:
5
In [20]:
tang_array[1,1]=10#更改赋值
tang_array
Out[20]:
array([[ 1,  2,  3],
       [ 4, 10,  6],
       [ 7,  8,  9]])
In [21]:
tang_array[1]
Out[21]:
array([ 4, 10,  6])
In [22]:
tang_array[:,1]
Out[22]:
array([ 2, 10,  8])
In [23]:
tang_array[0,0:2]
Out[23]:
array([1, 2])
In [24]:
tang_array2=tang_array
tang_array2
Out[24]:
array([[ 1,  2,  3],
       [ 4, 10,  6],
       [ 7,  8,  9]])
In [25]:
tang_array2[1,1]=100
tang_array2
Out[25]:
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
In [26]:
tang_array#2改后1也会变
Out[26]:
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
In [27]:
tang_array2=tang_array.copy()#用copy后就1不会被影响
tang_array2
Out[27]:
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
In [28]:
tang_array2[1,1]=500
tang_array2
Out[28]:
array([[  1,   2,   3],
       [  4, 500,   6],
       [  7,   8,   9]])
In [29]:
tang_array#用copy后就1不会被影响
Out[29]:
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
In [30]:
tang_array=np.arange(0,100,10)#指定等差数组
tang_array
Out[30]:
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
In [31]:
mask = np.array([1,0,1,0,1,1,1,0,1,0],dtype=bool)
mask
Out[31]:
array([ True, False,  True, False,  True,  True,  True, False,  True,
       False])
In [32]:
tang_array[mask]
Out[32]:
array([ 0, 20, 40, 50, 60, 80])
In [33]:
random_arrray=np.random.rand(10)
random_arrray
Out[33]:
array([0.81374296, 0.10841852, 0.76433989, 0.0419636 , 0.97549129,
       0.99717103, 0.14301514, 0.7507463 , 0.59333681, 0.18393359])
In [34]:
mask=random_arrray>0.5
mask
Out[34]:
array([ True, False,  True, False,  True,  True, False,  True,  True,
       False])
In [35]:
random_arrray[mask]
Out[35]:
array([0.81374296, 0.76433989, 0.97549129, 0.99717103, 0.7507463 ,
       0.59333681])
In [36]:
tang_array=np.array([10,20,30,40,50])
tang_array>30
Out[36]:
array([False, False, False,  True,  True])
In [37]:
np.where(tang_array>30)
Out[37]:
(array([3, 4], dtype=int64),)
In [38]:
tang_array[np.where(tang_array>30)]
Out[38]:
array([40, 50])
In [39]:
tang_array=np.array([1,2,3,4,5],dtype=np.float32)
tang_array
Out[39]:
array([1., 2., 3., 4., 5.], dtype=float32)
In [40]:
tang_array.dtype
Out[40]:
dtype('float32')
In [41]:
tang_array.nbytes
Out[41]:
20
In [43]:
tang_array=np.array([1,10,3.5,'str'],dtype=np.object)
tang_array
Out[43]:
array([1, 10, 3.5, 'str'], dtype=object)
In [44]:
tang_array*2
Out[44]:
array([2, 20, 7.0, 'strstr'], dtype=object)
In [45]:
tang_array=np.array([1,2,3,4,5])
np.asarray(tang_array,dtype=np.float32)
Out[45]:
array([1., 2., 3., 4., 5.], dtype=float32)
In [46]:
tang_array
Out[46]:
array([1, 2, 3, 4, 5])
In [47]:
tang_array2=np.asarray(tang_array,dtype=np.float32)#原始的变量不会被改变
tang_array2
Out[47]:
array([1., 2., 3., 4., 5.], dtype=float32)
In [48]:
tang_array2
Out[48]:
array([1., 2., 3., 4., 5.], dtype=float32)
In [49]:
tang_array
Out[49]:
array([1, 2, 3, 4, 5])
In [50]:
tang_array.astype(np.float32)#和asarrary一样原始变量不会变化
Out[50]:
array([1., 2., 3., 4., 5.], dtype=float32)
In [51]:
tang_array
Out[51]:
array([1, 2, 3, 4, 5])
原文地址:https://www.cnblogs.com/AI-robort/p/11636339.html