zoukankan      html  css  js  c++  java
  • NumPy基础

    定义

    NumPy:Numerical Python的简称。

    ndarray: 一种高效多维数组,是Python中一个快速、灵活的大行数据容器。

    所有元组应为同一类型,若不是则向下转化。也称为数组、NumPy数组。

    生成ndarray

    使用array创建

    list_1 = list(range(10))
    tuple_1 = tuple(range(10))
    array_l = np.array(list_1) 
    array_t = np.array(tuple_1)
    array_a = np.array(range(10))
    array_tf1 = (array_l == array_a)
    array_tf2 =(array_l == array_t)
    
    print(False not in array_tf1)        #out:True
    print(False not in array_tf2)        #out:True
    array_l                               #out:array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

    asarray 与 array的区别

    arr1 = np.array([1,2,3])
    np.asarray(arr1) is arr1  #out:True
    np.array(arr1) is arr1   #out:False

    注意array默认复制所有的输入数据,而asarray如果输入的已经是naarray则不再复制。

    ones 和 ones_like

    zeros 和 zero_like、full和full_like、empty和empty_like与上面差不多

    eye、identity

    identity可创建一个正方的N*N单位矩阵(对角线为1,其余为0)。

    复制代码
    1 >>> np.identity(5)
    2 array([[ 1.,  0.,  0.,  0.,  0.],
    3        [ 0.,  1.,  0.,  0.,  0.],
    4        [ 0.,  0.,  1.,  0.,  0.],
    5        [ 0.,  0.,  0.,  1.,  0.],
    6        [ 0.,  0.,  0.,  0.,  1.]])
    复制代码

    eye在单参时与identity功能相同:

    复制代码
    1 >>> np.eye(5)
    2 array([[ 1.,  0.,  0.,  0.,  0.],
    3        [ 0.,  1.,  0.,  0.,  0.],
    4        [ 0.,  0.,  1.,  0.,  0.],
    5        [ 0.,  0.,  0.,  1.,  0.],
    6        [ 0.,  0.,  0.,  0.,  1.]])
    复制代码

    除此之外,eye后面可加参数k,表示第几条对角线为全1,如:

    复制代码
    1 >>> np.eye(5,k=1)
    2 array([[ 0.,  1.,  0.,  0.,  0.],
    3        [ 0.,  0.,  1.,  0.,  0.],
    4        [ 0.,  0.,  0.,  1.,  0.],
    5        [ 0.,  0.,  0.,  0.,  1.],
    6        [ 0.,  0.,  0.,  0.,  0.]])
    复制代码
    复制代码
    1 >>> np.eye(5,k=-2)
    2 array([[ 0.,  0.,  0.,  0.,  0.],
    3        [ 0.,  0.,  0.,  0.,  0.],
    4        [ 1.,  0.,  0.,  0.,  0.],
    5        [ 0.,  1.,  0.,  0.,  0.],
    6        [ 0.,  0.,  1.,  0.,  0.]])
    复制代码

    eye还可以指定长宽(可理解为将单位矩阵截取一部分)。如:

    1 >>> np.eye(3,4)
    2 array([[ 1.,  0.,  0.,  0.],
    3        [ 0.,  1.,  0.,  0.],
    4        [ 0.,  0.,  1.,  0.]])

    ndarray数据类型

    arr1 = np.array(seq,dtype = np.float64)

    arr1 = np.array(seq)

    arr1.astype(np.float64)

    astyp的功能可以去看文档。

    浮点数转化为整数为截取方式而非四舍五入。

  • 相关阅读:
    模仿jquery的一些实现
    使按钮失效的方法
    类似jquery的一个demo
    oracle 集合变量以及自定义异常的用法
    java的for循环问题的解决,以及安卓中ListView插入数据的问题
    Spring AOP基于xml配置实例
    plsql 的循环之 goto
    Spring AOP报错
    补全aaz288 可能有问题的过程 P_COMPL_AAZ288
    Spring注解配置
  • 原文地址:https://www.cnblogs.com/qianslup/p/11160528.html
Copyright © 2011-2022 走看看