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的功能可以去看文档。

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

  • 相关阅读:
    【SAS NOTES】将文本转化为数据格式 input()
    【SAS NOTES】proc tabulate遇到的问题
    【SAS NOTES】proc sql
    【SAS NOTES】转载 sas函数&模块
    【SAS NOTE】substr字符串提取函数
    【SAS NOTES】输出结果到excel
    【SAS NOTES】脏数据
    【SAS NOTES】字符串处理函数
    【SAS NOTES】实际分析应用
    多项式的乘法满足结合律和交换律
  • 原文地址:https://www.cnblogs.com/qianslup/p/11160528.html
Copyright © 2011-2022 走看看