zoukankan      html  css  js  c++  java
  • 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])
  • 相关阅读:
    centos7 常用工具包安装
    Java.lang.String类
    javaweb系统调优方案
    nginx 优化
    centos7 源码安装nginx
    tomcat8调优
    commons-logging slf4j log4j 区别
    docker 安装centos7并SSH远程连接
    aws mysql 开启慢查询日志, 并利用mysqlsla 分析
    centos7 源码安装goaccess
  • 原文地址:https://www.cnblogs.com/AI-robort/p/11636339.html
Copyright © 2011-2022 走看看