• numpy基础


    # Ndarray 对象 
    import numpy as np
    a = np.array([1,2,3])                           #一维
    a = np.array([[1,  2],  [3,  4]])               #多维
    a = np.array([1, 2, 3, 4, 5], ndmin =  2)       #最小维度
    a = np.array([1,  2,  3], dtype = complex)      #dtype 

    # NumPy 数据类型
    dt = np.dtype(np.int32)                         # 使用标量类型
    dt = np.dtype('i4')                             # int8, int16, int32, int64 四种数据类型可以使用字符串 'i1', 'i2','i4','i8' 代替
    dt = np.dtype('<i4')                            # 字节顺序标注
    dt = np.dtype([('age',np.int8)])                # 首先创建结构化数据类型
    a = np.array([(10,),(20,),(30,)], dtype = dt)   # 将数据类型应用于 ndarray 对象
    a['age']                                        # 类型字段名可以用于存取实际的 age 列   
    student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')]) 
    a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student) 

    # NumPy 数组属性 
    a = np.arange(24) 
    a.ndim                                          #ndim维数
    a.shape                                         #shape维度
    a = np.array([[1,2,3],[4,5,6]]) 
    a.shape =  (3,2)                                #调整维度
    b = a.reshape(3,2)                              #reshape调整维度
    x = np.array([1,2,3,4,5], dtype = np.int8)      
    print (x.itemsize)                              #ndarray.itemsize 以字节的形式返回数组中每一个元素的大小
    print (x.flags)                                 #ndarray.flags 返回 ndarray 对象的内存信息

    # NumPy 创建数组 
    x = np.empty([3,2], dtype = int)                #numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组
    y = np.zeros((5,), dtype = np.int)              #创建指定大小的数组,数组元素以 0 来填充
    z = np.ones([2,2], dtype = int)                 #创建指定形状的数组,数组元素以 1 来填充

    #NumPy 从已有的数组创建数组 
    x =  [1,2,3] 
    a = np.asarray(x) 
    y =  (1,2,3) 
    b = np.asarray(y)                               #将列表、元组转换为 ndarray:
    
    s =  b'Hello World' 
    a = np.frombuffer(s, dtype =  'S1')             #numpy.frombuffer 用于实现动态数组
    list=range(5)
    it=iter(list)
    x=np.fromiter(it, dtype=float)                  #使用迭代器创建 ndarray 

    # NumPy 从数值范围创建数组
    x = np.arange(5)                                #arange 函数创建数值范围并返回 ndarray 对象
    a = np.linspace(1,10,num=10)                    #numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的
    b = np.logspace(1.0,  2.0, num =  10)           #numpy.logspace 函数用于创建一个于等比数列

    # NumPy 切片和索引 
    a = np.arange(10)
    s = slice(2,7,2)                                # slice从索引 2 开始到索引 7 停止,间隔为2
    b = a[2:7:2]                                    # 从索引 2 开始到索引 7 停止,间隔为 2
    b = a[2:]                                       # 从索引 2 开始到索引 7 停止,间隔为 2

    # NumPy 广播(Broadcast) 
    a = np.array([1,2,3,4]) 
    b = np.array([10,20,30,40]) 
    c = a * b 
    
    a = np.array([[ 0, 0, 0],
               [10,10,10],
               [20,20,20],
               [30,30,30]])
    b = np.array([1,2,3])
    print(a + b)                                        # 2 个数组的形状不同时,广播机制
    
  • 相关阅读:
    协程
    多进程
    多线程
    模块进阶
    内建函数
    内建属性
    属性property
    私有化
    深拷贝、浅拷贝
    ==、is
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/15919637.html
Copyright © 2020-2023  润新知