zoukankan      html  css  js  c++  java
  • numpy常见属性、创建数组

     

    1、几种常见numpy的属性

    • ndim:维度
    • shape:行数和列数
    • size:元素个数 
     1 >>> import numpy as np #导入numpy模块,np是为了使用方便的简写
     2 >>> array = np.array([[1,2,3],[2,3,4]])  #列表转化为矩阵
     3 >>> print(array)
     4  [[1 2 3]
     5   [2 3 4]]
     6 >>>
     7 >>> print('number of dim:',array.ndim)  # 维度
     8 number of dim: 2
     9 >>> print('shape :',array.shape)    # 行数和列数
    10 shape : (2, 3)
    11 >>> print('size:',array.size)   # 元素个数
    12 size: 6

     2、Numpy创建array

    2.1 关键字

    • array:创建数组
    • dtype:制定数据类型
    • zeros:创建数据全为0
    • ones:创建数据全为1
    • empty:创建数据接近0
    • arrange:按指定范围创建数据
    • linspace:创建线段

    2.2 创建数组

     1 #创建数组
     2 >>> a = np.array([2,23,4])  # list 1d
     3 >>> print(a)
     4 [ 2 23  4]
     5 
     6 #指定类型
     7 >>> a = np.array([2,23,4],dtype=np.int)
     8 >>> print(a.dtype)
     9 int32
    10 
    11 >>> a = np.array([2,23,4],dtype=np.int32)
    12 >>> print(a.dtype)
    13 int32
    14 
    15 >>> a = np.array([2,23,4],dtype=np.float)
    16 >>> print(a.dtype)
    17 float64
    18 
    19 >>> a = np.array([2,23,4],dtype=np.float32)
    20 >>> print(a.dtype)
    21 float32
    22 
    23 #创建特定数据
    24 >>> a = np.array([[2,23,4],[2,32,4]])  # 2d 矩阵 2行3列
    25 >>> print(a)
    26 [[ 2 23  4]
    27  [ 2 32  4]]
    28 
    29 #创建全零数组
    30 >>> a = np.zeros((3,4)) # 数据全为0,3行4列
    31 >>> print(a)
    32 [[0. 0. 0. 0.]
    33  [0. 0. 0. 0.]
    34  [0. 0. 0. 0.]]
    35 
    36 #创建全1数组
    37 >>> a = np.ones((3,4),dtype = np.int)   # 数据为1,3行4列
    38 >>> print(a)
    39 [[1 1 1 1]
    40  [1 1 1 1]
    41  [1 1 1 1]]
    42 
    43 #创建全空数组, 其实每个值都是接近于零的数:
    44 >>> a = np.empty((3,4)) # 数据为empty,3行4列
    45 >>> print(a)
    46 [[0. 0. 0. 0.]
    47  [0. 0. 0. 0.]
    48  [0. 0. 0. 0.]]
    49 
    50 #用 arange 创建连续数组:
    51 >>> a = np.arange(10,20,2) # 10-19 的数据,2步长
    52 >>> print(a)
    53 [10 12 14 16 18]
    54 
    55 #使用 reshape 改变数据的形状
    56 >>> a = np.arange(12).reshape((3,4))    # 3行4列,0到11
    57 >>> print(a)
    58 [[ 0  1  2  3]
    59  [ 4  5  6  7]
    60  [ 8  9 10 11]]
    61 
    62 #用 linspace 创建线段型数据:
    63 >>> a = np.linspace(1,10,20)    # 开始端1,结束端10,且分割成20个数据,生成线段
    64 >>> print(a)
    65 [ 1.          1.47368421  1.94736842  2.42105263  2.89473684  3.36842105
    66   3.84210526  4.31578947  4.78947368  5.26315789  5.73684211  6.21052632
    67   6.68421053  7.15789474  7.63157895  8.10526316  8.57894737  9.05263158
    68   9.52631579 10.        ]
    69 
    70 
    71 #同样也能进行 reshape 工作:
    72 >>> a = np.linspace(1,10,20).reshape((5,4)) # 更改shape
    73 >>> print(a)
    74 [[ 1.          1.47368421  1.94736842  2.42105263]
    75  [ 2.89473684  3.36842105  3.84210526  4.31578947]
    76  [ 4.78947368  5.26315789  5.73684211  6.21052632]
    77  [ 6.68421053  7.15789474  7.63157895  8.10526316]
    78  [ 8.57894737  9.05263158  9.52631579 10.        ]]
  • 相关阅读:
    [LeetCode 1029] Two City Scheduling
    POJ 2342 Anniversary party (树形DP入门)
    Nowcoder 106 C.Professional Manager(统计并查集的个数)
    2018 GDCPC 省赛总结
    CF 977 F. Consecutive Subsequence
    Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)
    Poj 2337 Catenyms(有向图DFS求欧拉通路)
    POJ 1236 Network of Schools (强连通分量缩点求度数)
    POJ 1144 Network (求割点)
    POJ 3310 Caterpillar(图的度的判定)
  • 原文地址:https://www.cnblogs.com/anhoo/p/9381736.html
Copyright © 2011-2022 走看看