zoukankan      html  css  js  c++  java
  • numpy的基本用法

    # -*- coding: utf-8 -*-
    声明行列式
    import numpy as np
    
    print ('使用普通一维数组生成NumPy一维数组')
    data = [6, 7.5, 8, 0, 1]
    arr = np.array(data)
    print (arr)
    print ('打印元素类型')
    print (arr.dtype)
    
    
    print ('使用普通二维数组生成NumPy二维数组')
    data = [[1, 2, 3, 4], [5, 6, 7, 8]]
    arr = np.array(data)
    print (arr)
    print ('打印数组维度')
    print (arr.shape)
    
    
    print ('使用zeros/empty')
    print (np.zeros(10)) # 生成包含10个0的一维数组
    print (np.zeros((3, 6))) # 生成3*6的二维数组
    print (np.empty((2, 3, 2))) # 生成2*3*2的三维数组,所有元素未初始化。
    
    print ('使用arrange生成连续元素')
    print (np.arange(15))  # [0, 1, 2, ..., 14]

    声明行列式类型

    print ('生成数组时指定数据类型')
    arr = np.array([1, 2, 3], dtype = np.float64)
    print (arr.dtype)
    arr = np.array([1, 2, 3], dtype = np.int32)
    print (arr.dtype)
    
    
    print ('使用astype复制数组并转换数据类型')
    int_arr = np.array([1, 2, 3, 4, 5])
    float_arr = int_arr.astype(np.float)
    print (int_arr.dtype)
    print (float_arr.dtype)
    
    
    print ('使用astype将float转换为int时小数部分被舍弃')
    float_arr = np.array([3.7, -1.2, -2.6, 0.5, 12.9, 10.1])
    int_arr = float_arr.astype(dtype = np.int)
    print (int_arr)
    
    
    print ('使用astype把字符串转换为数组,如果失败抛出异常。')
    str_arr = np.array(['1.25', '-9.6', '42'], dtype = np.string_)
    float_arr = str_arr.astype(dtype = np.float)
    print (float_arr)
    print
    
    print( 'astype使用其它数组的数据类型作为参数')
    int_arr = np.arange(10)
    float_arr = np.array([.23, 0.270, .357, 0.44, 0.5], dtype = np.float64)
    print (int_arr.astype(float_arr.dtype))
    print (int_arr[0], int_arr[1]  )# astype做了复制,数组本身不变。

     行列式切片以及基本操作

    # -*- coding: utf-8 -*-
    
    import numpy as np
    
    # 通过索引访问二维数组某一行或某个元素
    arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    print (arr[2])
    print (arr[0][2])
    print (arr[0, 2])# 普通Python数组不能用。
    
    
    # 对更高维数组的访问和操作
    arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
    print (arr[0])  # 结果是个2维数组
    print (arr[1, 0]) # 结果是个2维数组
    old_values = arr[0].copy()  # 复制arr[0]的值
    arr[0] = 42 # 把arr[0]所有的元素都设置为同一个值
    print (arr)
    arr[0] = old_values # 把原来的数组写回去
    print (arr)
    
    print ('使用切片访问和操作数组')
    arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    print (arr[1:6])  # 打印元素arr[1]到arr[5]
    arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    print (arr[:2]) # 打印第1、2行
    print (arr[:2, 1:]) # 打印第1、2行,第2、3列
    print (arr[:, :1] ) # 打印第一列的所有元素
    arr[:2, 1:] = 0 # 第1、2行,第2、3列的元素设置为0
    print (arr)
  • 相关阅读:
    架构 框架 设计模式 --备用
    机器视觉项目开发之---织物疵点检测机器视觉系统 软件测试平台
    多媒体开发之--- live555 vs2010/vs2013下编译,使用,测试
    多媒体开发之--- h264 图像、帧、片、NALU
    多媒体开发之---H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
    多媒体开发之---h264格式slice_header
    图像处理之基础---傅立叶c实现
    图像处理之基础---小波提取特征
    图像处理之基础---图像的特征简介
    嵌入式开发之工具---log file
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/9624285.html
Copyright © 2011-2022 走看看