• Python的那些事---数据分析(一)---NumPy基础


    NumPy是python数值计算中最为重要的基础包,大多数计算包都提供了基于NumPy的科学函数功能,将NumPy的数组对象作为数据交换的通用语。

    NumPy的优点:

    1. ndarray,一种高效多维数组,提供了基于数组的便捷算术操作以及灵活的广播功能。
    2. 对所有数据进行快速的矩阵计算,而无须编写循环程序。
    3. 对硬盘中数组数据进行读写的工具,并对内存映射文件进行操作。
    4. 线性代数、随机数生成以及傅里叶变换功能。
    5. 用于连接NumPy到C、C++和FORTRAN语言类库的C语言API。

    NumPy ndarray:多维数组对象

    NumPy的核心特征之一是N-维数组对象---ndarray。ndarray是python中一个快速、灵活的大型数据集容器。数组运行你使用类似于标量的操作语法在整块数据上进行数学计算。

     1 import numpy as np 
     2 #生成随机数组
     3 data=np.random.randn(2,3)
     4 #输出随机数组
     5 print(data)
     6 #将数组整体*10输出
     7 print(data*10)
     8 #将两个data数组整体相加输出
     9 print(data+data)
    10 
    11 
    12 [[-1.42334019 -0.00819673  1.83179575]
    13  [-0.82282546  1.4418176  -0.35472472]]
    14 [[-14.23340186  -0.08196733  18.3179575 ]
    15  [ -8.22825455  14.41817598  -3.54724716]]
    16 [[-2.84668037 -0.01639347  3.6635915 ]
    17  [-1.64565091  2.8836352  -0.70944943]]

     表一  数组生成函数

    函数名

    描述
    array 将输入数据(可以是列表、元组、数组以及其他序列)转换为ndarray,如不显示指明数据类型,将自动推断;默认复制所有的输入数据
    asarray 将输入转换为ndarray,但如果输入已经是ndarray则不再复制
    arange python内建函数range的数组版,返回一个数组
    ones 根据给定形状和数据类型生成全1数组
    ones_like 根据所给的数组生成一个形状一样的全1数组
    zeros 根据给定形状和数据类型生成全0数组
    zeros_like 根据所给的数组生成一个形状一样的全0数组
    empty 根据给定形状生成一个没有初始化数值的空数组
    empty_like 根据所给的数组生成一个形状一样的但没有初始化数值的空数组
    full 根据给定的形状和数据类型生成指定数值的数组
    full_like 根据所给的数组生成一个形状一样但内容是指定数值的数组
    eye,identity 生成一个N×N特征矩阵(对角线位置都是1,其余位置是0)

    NumPy数组算术

    任何在两个等尺寸数组之间的算术操作都应用了逐元素操作的方式

     1 import numpy as np 
     2 #生成数组
     3 arr=np.array([[1.,2.,3.],[3.,5.,6.]])
     4 #打印数组
     5 print(arr)
     6 #乘法
     7 print(arr*arr)
     8 #减法
     9 print(arr-arr)
    10 #带有标量计算的算术操作,会把计算参数传递给数组的每一个元素:
    11 #倒数
    12 print(1/arr)
    13 #开平方
    14 print(arr**0.5)
    15 #同尺寸数组之间的比较,会产生一个布尔值数组
    16 arr2=np.array([[0.,4.,1.],[7.,2.,12.]])
    17 print(arr2)
    18 #比较数组大小
    19 print(arr2>arr)
    20 
    21 
    22 
    23 [[1. 2. 3.]
    24  [3. 5. 6.]]
    25 
    26 [[ 1.  4.  9.]
    27  [ 9. 25. 36.]]
    28 
    29 [[0. 0. 0.]
    30  [0. 0. 0.]]
    31 
    32 [[1.         0.5        0.33333333]
    33  [0.33333333 0.2        0.16666667]]
    34 
    35 [[1.         1.41421356 1.73205081]
    36  [1.73205081 2.23606798 2.44948974]]
    37 
    38 [[ 0.  4.  1.]
    39  [ 7.  2. 12.]]
    40 
    41 [[False  True False]
    42  [ True False  True]]

    基础索引与切片

    一维数组的索引

  • 相关阅读:
    Java [Leetcode 191]Number of 1 Bits
    Java [Leetcode 235]Lowest Common Ancestor of a Binary Search Tree
    Java [Leetcode 169]Majority Element
    Java [Leetcode 171]Excel Sheet Column Number
    Java [Leetcode 217]Contains Duplicate
    Java [Leetcode 242]Valid Anagram
    Java [Leetcode 100]Same Tree
    Java [Leetcode 258]Add Digits
    Java [Leetcode 104]Maximum Depth of Binary Tree
    D365 FO财务维度
  • 原文地址:https://www.cnblogs.com/GaJack/p/12900251.html
Copyright © 2020-2023  润新知