科学计算基础包--numpy

一 numpy的简介

NumPy是高性能科学计算和数据分析的基础包。它是pandas等其他各种工具的基础。
NumPy的主要功能:

  • ndarray, 一个多维数据结构, 高新且节省空间
  • 无需循环对数据进行快速运算的数学函数
  • 线性代数 随机数生成和傅里叶变换功能

安装方法: pip install numpy
引用方式: import numpy as np

创建ndarray: np.adday(array_like)
数组与列表的区别:

  • 数组对象内的元素类型必须相同
  • 数组大小不可修改

二 Ipython的简介

再详细介绍Numpy之前先简单介绍一个下Ipython以便后面的操作

 Ipython是再python环境下通过命令行交互式编程

安装:pip install ipython

使用:ipython

与Python解释器使用方法一致

1 高级功能

TAB键自动完成

?:内省, 命名空间搜索

!:执行系统命令

丰富快捷键:

  

 2 魔术命令:以%开头

  %run:执行文件代码

  %paste:执行剪贴板代码

  %timeit:评估运行时间

  %pdb:自动调试

三 Numpy的使用

1 ndarray数据类型

  • 布尔型:bool_
  • 整形:int_ int8 int16 int32 int64
  • 无符号整形: unit8 unit16 unit32 unit 64
  • 浮点型:float float16 float32 float64
  • 复数型:complex_ complex64 complex128

2 ndarray的常用属性

  • T 数组的转置(对高维数组而言)
  • size 数组元素的个数
  • ndim 数组的维数
  • shape 数组的维度大小(元祖形式)
  • dtype 数组元素的数据类型

3 ndarray的创建

  • array() 将列表转换为数组, 可选择显示指定dtype
  • arange() range的numpy版, 支持浮点数
  • linespace() 类似arange(),第三个参数为数组长度
  • zeros() 根据指定形态和dtype创建全0数组
  • ones() 根据指定形态和dtype创建全1数组
  • empty() 根据指定形态和dtype创建空数组(随机值)
  • eye() 根据指定边长和dtyoe创建单位矩阵

4 ndarray批量运算

  数组和标量之间的运算
  a+1 a*3 1//a a**0.5 a>5


  同样大小数组之间的运算
  a+b a/b a**b a%b a==b

5 ndarray索引和切片

一维数组的索引: a[5]
多维数组的索引:

  • 列表式写法:a[2][3]
  • 新式写法:a[2,3]

一维数组的切片: a[5:8]           a[4:]          a[2:10] = 1
多维数组的切片:   a[1:2, 3:4]    a[:,3:5]      a[:,1]
数组切片与列表切片的不同:数组切片时并不会自动复制(而是创建一个视图),在切片数组上的修改会影响原数组
copy()方法可以创建数组的深拷贝

6 ndarray布尔型索引 

给定一个数组选出数组中所有大于5的偶数
  a[(a>5) & (a%2 == 0)]
给一个数组, 选出数组中所有大于5的数和偶数
  a[(a>5) | (a%2==0)]

7 ndarray花式索引

对于一个数组,选出其第1,3,4,6,7个元素,组成新的二维数组
  a[[1,3,4,6,7]]
对一个二维数组,选出其第一列和第三列, 组成新的二维数组
  a[:,[1,3]]

ndarry通用函数

通用函数:能同时对数组中所有元素进行运算的函数
常见通用函数:

  • 一元函数: abs, sqrt, exp, log, ceil(向上取整), floor(向下取整), rint, trunc(向零取整), modf(将整数和小数分开), isnan(判断是不是nan), isinf(判断是不是inf), cos, sin, tan
  • 二元函数: add, substract, multiply, divide, power, mod, maximun, mininum

补充-浮点数特殊值

  • nam(Not a Number):不等于任何浮点数(nan != nan)
  • inf(infinity): 比任何浮点数都大
  • NumPy中创建特殊值: np.nan np.inf
  • 在数据分析中, nan常被用作表示数据缺失值

9 numpy数学和统计方法

[1 2 3 4 5]

  • sum 求和
  • mean 求平均数
  • std 求标准差 ((1-3)**2+(2-3)**2+(3-3)**2+(4-3)**2+(5-3)**3)/5
  • var 求方差
  • min 求最小数
  • max 求最大值
  • argmin 求最小值索引
  • argmax 去最大值索引

10 numpy随机数生成

  • 随机数函数在np.random子包内
  • rand 给定形态产生随机数组(0到1之间的数)
  • randint 给定形态产生随机整数
  • choice 给定形态产生随机选择
  • shuffle 与random.shuff相同
  • uniform 给定形态产生随机数组

 

转载于:https://www.cnblogs.com/harryblog/p/10811549.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值