numpy

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 14 11:18:09 2018

@author: v_cuiguang

numpy数据类型

  1. 内置类型

    布尔型 bool_ : True/False
    整型 有符号: int8 /int16 /int36/int64
         无符号: uint8/uint16/uint36/uint64
    复数型:complex64  / complex128
    浮点型:float16 / float32/ float 64
    字符串: str_

  2. 复合数组 (数组中元素同质,即相同类型)
    由多个相同或不同类型的字段组合而成的类型
    np.array(...,dtype=复合类型)
    a = [[1,2,3],[4,5,6]]
    创建数组: b= np.array(a)
    返回数据类型: b.dtype == type(b[0][0])
    返回数组纬度: b.shape 返回一个元组
    元素类型转换: c= b.astype(数据类型)
    访问数组中元素: 数组[页标][行标][列标]
    
    
  3. 类型字符码
      bool_ :?
      有符号整型: i1/2/4/8
      无符号整型: u/1/2/4/8
      浮点型: f2/4/8
      复数型: c8/16
      字符串: U<字符数>
      日期时间: M
      字节序(针对多字节整型) : </ >/ [=] 表示大端/小端/硬件默认顺序
      
   4. 切片
       # 以三维数组为例,
       #      页切片          行切片            列切片
       数组[起始:终止:步长,起始:终止:步长,起始:终止:步长,]
       b=  
         [[[ 1  2  3  4]
          [ 5  6  7  8]
          [ 9 10 11 12]]
    
         [[13 14 15 16]
          [17 18 19 20]
          [21 22 23 24]]]
      
        b[:,0,0] # 表示取 全部页的第一行,第一列
        b[0,;,;] # 表示取第一页的全部数据
        b[0,...] # 作用同上
        b[...,1] # 所有页,所有行的第二个元素
        
        
   5. 变维
            元数据:对数组的描述
            实际数据:数组的内容
        1. 视图变维: 元数据独立,实际数据共享
            数组.reshape(新维度) -> 新数组
        
        2. 复制变维: 元数据和实际数据都独立
            数组.flatten() -> 一维数组
            
            # 元素数和维度数必须匹配
            数组.ravel() -> 一维数组
        3. 就地变维: 修改元数据的纬度信息,不产生新的数组
            数组.shape = 新维度
            数组.resize(新维度)
            
            
    6. 垂直组合:沿着垂直方向组合两个小的同维数组为一个大数组(行)
        # 二维数组
        np.vstack((上,下))
        np.concatenate((上,下),axis=0)
        axis - 轴向,用维度的下标表示 0(纵向)/1(横向) 
       水平组合: 沿水平方向组合两个小的同维数组为一个大数组
       # 二维数组
         np.hstack((左,右))
         np.concatenate((左,右),axis=1)
       深度组合: 沿着纵深方向组合两个小的同维数组为一个大数组
       # 三维数组  
         np.dstack((前,后))
         
       行组合:以两个一维数组按照行的防护组合成一个二维数组
       np.row_stack((上,下))
       列组合:以两个一维数组按照列的方式组合成一个二维数组
       np.coluwn_stack((左,右))
        
        垂直拆分 : 将一个大的数组沿着垂直方向拆分成若个小的同维数组
        np.vsplit(被拆分的数组,拆分份数)
        np.split(被拆分的数组,拆分份数,axis=0)  
        
        水平拆分: 将一个大的数组沿水平方向拆分成若个小的同维数组
        np.hsplit(被拆分的数组,拆分份数)
        np.split(别拆分数组,拆分份数,axis=1)
        
        深度拆分: 将一个大的数组沿着纵深方向拆分成若个小的同维数组
        np.dsplit(被拆分数组,拆分份数) 
        
    7. ndarry 的属性
        dtype - 元素的数据类型
        shape - 数组的纬度
        ndim - 数组的维数,len(shape)
        size - 数组的元素数, shape中元素相乘
        itemsize - 元素字节数,与dtype相关
        nbtyes - 总司结束, size * itemsize
        T - 转置视图
        real - 复数数组的实部视图
        imag - 复数数组的虚部视图
        flat - 迭代扁平器
        
    8. 列表 与 数组的 互相转换
        np.array(列表) -> 数组
        数组.tolist() -> 列表
    
    9. 浅拷贝 
        b = [[1],[2,3],4,5]
        a = b
       深拷贝
        c = b.copy()
        
        
        
        
        
        
        
        
            
      
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值