• 【数据分析&数据挖掘】数组的创建


      1 import numpy as np
      2 import random
      3 
      4 arr = np.array([1,2,3,4])
      5 print('arr:
    ', arr)
      6 print('arr的类型:
    ', type(arr))
      7 
      8 # 用arange来创建数组
      9 arr = np.arange(0, 5, 2)
     10 print('arr:
    ', arr)
     11 print('arr的类型:
    ', type(arr))
     12 
     13 # 生成一个等差数组
     14 # 参数1 开始位置
     15 # 参数2 结束位置
     16 # 参数3 生成的数组的元素个数
     17 # endpoint=True --包含结束位置
     18 arr = np.linspace(0, 5, 6)
     19 print('arr:
    ', arr)
     20 print('arr的类型:
    ', type(arr))
     21 
     22 # 生成一个等比数组
     23 # 参数1 开始位置
     24 # 参数2 结束位置
     25 # 参数3 生成数组的元素的个数
     26 # endpoint=True --包含结束位置
     27 # base=10.0
     28 arr = np.logspace(0, 4, 3, base=4)
     29 print('arr:
    ', arr)
     30 print('arr的类型:
    ', type(arr))
     31 
     32 # zeros ones diag eye 来创建数组
     33 
     34 # 生成一个元素都是0的数组
     35 arr = np.zeros(shape=(2, 3))
     36 arr = np.zeros(shape=[2, 3])
     37 print('arr:
    ', arr)
     38 print('arr的类型:
    ', type(arr))
     39 print('arr的维度:', arr.ndim)
     40 print('arr的形状:', arr.shape)
     41 
     42 # 生成一个元素都是1的数组
     43 arr = np.ones(shape=(2, 3))
     44 print('arr:
    ', arr)
     45 print('arr的类型:
    ', type(arr))
     46 print('arr的维度:', arr.ndim)
     47 print('arr的形状:', arr.shape)
     48 
     49 # 创建一个类似对角矩阵的数组
     50 arr = np.diag([1, 2, 3, 4], k=0)
     51 # 如果k>0,给定的值在正对角线的位置向上偏移k单位
     52 arr = np.diag([1, 2, 3, 4], k=1)
     53 # 如果k<0,给定的值在正对角线的位置向下偏移k单位
     54 arr = np.diag([1, 2, 3, 4], k=-1)
     55 print('arr:
    ', arr)
     56 print('arr的类型:
    ', type(arr))
     57 print('arr的维度:', arr.ndim)
     58 print('arr的形状:', arr.shape)
     59 
     60 arr = np.diag(v=[[1, 2],[2, 4]])
     61 hh = np.array([[1, 2, 3], [3, 4, 5]])
     62 # # 如果v为二维数组,且k=0,那么获取的对角线结果
     63 # arr = np.diag(v=hh, k=0)
     64 arr = np.diag(v=hh, k=1)
     65 arr = np.diag(v=hh, k=-1)
     66 print('arr:
    ', arr)
     67 print('arr的类型:
    ', type(arr))
     68 print('arr的维度:', arr.ndim)
     69 print('arr的形状:', arr.shape)
     70 
     71 # 生成一个类似单位矩阵的数组
     72 # N 行数
     73 # M 列数 可以省略
     74 arr = np.eye(N=2, M=2, k=0)
     75 arr = np.eye(N=2, M=2, k=1)
     76 arr = np.eye(N=3, k=0)
     77 print('arr:
    ', arr)
     78 print('arr的类型:
    ', type(arr))
     79 print('arr的维度:', arr.ndim)
     80 print('arr的形状:', arr.shape)
     81 
     82 # 创建随机数组
     83 arr = np.random.random(size=10)
     84 arr = np.random.random(10)
     85 arr = np.random.random(size=(2, 3))  # 用size不用shape
     86 print('arr:
    ', arr)
     87 print('arr的类型:
    ', type(arr))
     88 print('arr的维度:', arr.ndim)
     89 print('arr的形状:', arr.shape)
     90 
     91 # # 生成服从均匀分布的随机数组[0, 1)
     92 # # 均匀分布是由大量数据产生的结论,可以应用于少量数据——但不能分局少量数据推测不出均匀分布
     93 arr = np.random.rand(30)  # 生成数组的元素个数
     94 arr = np.random.rand(2, 3)  # 生成数组的行列数
     95 # arr = np.random.rand((2, 3))  # 这是错误的,不能是形状
     96 print('arr:
    ', arr)
     97 print('arr的类型:
    ', type(arr))
     98 print('arr的维度:', arr.ndim)
     99 print('arr的形状:', arr.shape)
    100 
    101 # 生成一个符合正态分布的数组
    102 # 正态分布——由大量数据产生的结论,可以应用于少量数据——但不能根据少量数据推测出正态分布
    103 # μ——数学期望——均值
    104 # σ——标准差,反应的是数据的离散程度
    105 # σ越大,说明数据越离散,图像就越平滑,σ越小,说明数据越聚集,图像就越陡峭
    106 # 如果均值为μ=0.0,标准差σ=1.0,此时为标准正态分布
    107 # 生成一个符合标准正态分布的数组
    108 print("正态分布")
    109 arr = np.random.randn(10)  # 可以传生成元组的个数
    110 arr = np.random.randn(2, 3)  # 可以传生成元组的行列数
    111 # arr = np.random.randn((2, 3))  # 错误,不可以传形状
    112 print('arr:
    ', arr)
    113 print('arr的类型:
    ', type(arr))
    114 print('arr的维度:', arr.ndim)
    115 print('arr的形状:', arr.shape)
    116 
    117 # 创建某区间内的随机整数数组
    118 # 生成[low, high)内指定size的随机整数数组
    119 arr = np.random.randint(low=1, high=5, size=10)
    120 arr = np.random.randint(low=1, high=5, size=(2, 3))
    121 print('arr:
    ', arr)
    122 print('arr的类型:
    ', type(arr))
    123 print('arr的维度:', arr.ndim)
    124 print('arr的形状:', arr.shape)
    125 
    126 # 创建某个区间内的随机小数数组
    127 # 默认生成[0, 1)范围内的随机小数数组,可以指定生成小数的范围
    128 arr = np.random.uniform(size=10)
    129 arr = np.random.uniform(size=(2, 3))
    130 arr = np.random.uniform(low=2, high=3, size=(2, 3))
    131 print('arr:
    ', arr)
    132 print('arr的类型:
    ', type(arr))
    133 print('arr的维度:', arr.ndim)
    134 print('arr的形状:', arr.shape)
  • 相关阅读:
    Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)
    Linux(CentOS6.5)修改系统市区被中国标准时间(北京时间)
    Linux(以CentOS6.5示例)下安装Oracle官方最新版JDK(JDK1.8)
    Linux发行版 CentOS6.5下删除分区操作
    Linux发行版 CentOS6.5下的分区操作
    Linux发行版 CentOS6.5 禁用防火墙步骤
    [置顶] drools规则引擎因为内存泄露导致的内存溢出
    架构师必读经典
    Google Chart API学习(二)
    Google Chart API学习(一)
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115470.html
Copyright © 2020-2023  润新知