numpy_01

import numpy as np

if __name__ == '__main__':
    array=np.array([1,2,3,4,5])

    # print(array.shape)#查看矩阵形状
    # print(array.dtype)#查看矩阵中数据类型
    # print(array.itemsize)#一个元素所占字节
    # print(array.size)#矩阵元素个数
    # print(array.ndim)#矩阵维度

    #给每个位置都重新赋值
    # array.fill(0)
    # print(array)
    #索引与切片,与python一样
    # print(array[1:-2])

    #多维矩阵
    n_array=np.array([[1,2,3],[4,5,6],[7,8,9]],)
    # print(n_array)
    # print(n_array.shape)
    # print(n_array.size)
    # print(n_array.itemsize)
    # print(n_array.dtype)
    # print(n_array.ndim)

    # print(n_array[1,1])#取矩阵中某个位置的值
    # print(n_array[1])#取矩阵某行
    # print(n_array[:,1])#取矩阵某列

    #矩阵拷贝
    n_array2=n_array #指向的地址一样
    # print(id(n_array))
    # print(id(n_array2))

    n_array2 = n_array.copy()  # 拷贝指向的地址不一样
    # print(id(n_array))
    # print(id(n_array2))

    #np.arange():构建等差数组,不包含最后一个,[,)
    arithmetic_progression=np.arange(0,100,10)
    # arithmetic_progression=np.arange(0,100,5)
    # print(arithmetic_progression)

    #bool 类型做索引
    mask=np.array([0,1,0,0,0,1,1,0,0,1],dtype=bool)
    # print(arithmetic_progression[mask])

    #构建(0,1)之间随机数
    random_array=np.random.rand(10)#构建10个(0,1)之间的随机数
    # print(random_array)
    mask=random_array >0.5
    # print(mask)
    # print(arithmetic_progression[mask])

    #查看满足条件的索引值
    # print(np.where(array>3))
    #得到对应的值
    # print(array)
    #从效果上来看,两种获得的结果一样
    # print(array[array>3])
    # print(array[np.where(array>3)])

    #指定数据类型
    array=np.array([i for i in range(1,6)],dtype=np.float32)
    # print(array.itemsize)
    # print(array.nbytes)#查看总共占用字节数

    #类型自动向上转换
    array=np.array([1,5.,'str'])
    # print(array)#int->float->str
    # 如果想保存原来的数据类型,则dtype=np.object
    array=np.array([1,5.,'str'],dtype=np.object)
    # print(array)

    #改变矩阵数据类型
    array1=np.array([1,2,3,4,5])
    #方法1
    # array2=np.asarray(array1,dtype=np.float32)
    # print(array2)
    #方法2
    array2=array1.astype(np.float32)
    # print(array2)

  

posted @ 2019-07-16 23:06  刘天睿  阅读(71)  评论(0)    收藏  举报