Numpy入门

简介: 标题中的英文首字母大写比较规范,但在python实际使用中均为小写。2018年7月23日笔记0. 学习内容:Python科学计算库:Numpy需要掌握的知识:1.Numpy简介;2.Numpy程序包;3.简单的Numpy程序;4.为什么使用Numpy;5.Numpy是什么;6.Numpy数据溢出;1. Numpy简介Numpy是python语言中的科学计算库。

标题中的英文首字母大写比较规范,但在python实际使用中均为小写。
2018年7月23日笔记

0. 学习内容:

Python科学计算库:Numpy需要掌握的知识:
1.Numpy简介;2.Numpy程序包;3.简单的Numpy程序;4.为什么使用Numpy;
5.Numpy是什么;6.Numpy数据溢出;

1. Numpy简介

Numpy是python语言中的科学计算库。
下文主要介绍数据科学工具包Numpy的基本用法,内容包括:
1.Numpy的ndarray多维数组创建
2.Numpy的ndarray多维数组索引切片访问
3.Numpy的ndarray多维数组的组合分割

2. Numpy程序包

集成开发环境为Jupyter notebook
语言及其版本为python3.6
安装numpy在cmd中运行命令:pip install numpy,如果电脑安装了最新版的anaconda,则自带jupyter notebook和numpy库。
集成开发环境如下图所示:


image_1cj3s95tl1rsg1hlm1fatkhl12bj9.png-24kB
image_1cj3s95tl1rsg1hlm1fatkhl12bj9.png-24kB

3.简单的Numpy程序

两个一维矩阵做加法
matrix1 = [0,1,4]
matrix2 = [0,1,8]
matrix3 = [0,2,12]

#使用python原有的列表和推导式
matrix1 = [0,1,4]
matrix2 = [0,1,8]
matrix3 = [a+b for a,b in zip(matrix1,matrix2)]
print(matrix3,type(matrix3))
#使用numpy库计算
import numpy
matrix1 = numpy.arange(3) ** 2
matrix2 = numpy.arange(3) ** 3
matrix3 = matrix1 + matrix2
print(matrix3,type(matrix3))

代码及其运行结果如下图所示:


image_1cj3sskqr1t6p19dm1so8aodibh13.png-31.5kB
image_1cj3sskqr1t6p19dm1so8aodibh13.png-31.5kB

4.为什么使用Numpy

原因有以下3点:
1.对于同样的数值计算任务,由于Numpy能够直接对数组和矩阵进行操作,可以省略很多循环语句使用Numpy要比直接编写Python代码便捷得多;
2.Numpy中数组的存储效率和输入输出性能均远远优于Python中等价的数据结构;
3.Numpy的大部分代码都是用C语言写的,这使得Numpy比纯Python代码高效得多。

5.Numpy是什么

Numpy的全名为Numeric Python,是一个开源的科学计算库,它包括:
1.一个强大的N维数组对象ndarray;2.比较成熟的函数库;
3.用于整合C/C++和Fortran代码的工具包;4.实用的线性代数、傅里叶变换和随机生成函数。
Numpy支持高维度数组计算和矩阵计算,此外也针对了数组提供了大量的科学函数库。

6.Numpy数据溢出

import numpy as np
matrix = np.arange(1292) ** 3
print(matrix.dtype)
print(matrix[-3:])
print(2 ** 32 - 1291 ** 3)

代码及其运行结果如下图:


image_1cj3u1bb713t11jlkjsp1tmjih41t.png-15.8kB
image_1cj3u1bb713t11jlkjsp1tmjih41t.png-15.8kB

从上面一段代码可以看出:1.np.arange方法产生的一个ndarray对象,对象中的元素默认为int32类型。

  1. 2^31 - 1的值为2147483647,如果int32类型超过这个值则算越界,越界后所得值为负数。
  2. 越界所得负数的绝对值 + 原本值 = 2 ** 32。

练习

利用Numpy实现两个向量相乘的结果
有两种解答方法:1.利用np.dot方法,需要2个参数,1个参数数据类型为ndarray,长度要相同。
2.利用ndarray对象的dot方法,需要1个参数,参数数据类型为ndarray,长度要相同。
下面代码中有两种解答方法的示例。

import numpy as np
matrix1 = np.arange(10) 
print(matrix1)
matrix2 = np.arange(10,20)
print(matrix2)
print(np.dot(matrix1,matrix2))
print(matrix1.dot(matrix2))
image_1cja6gt6rp7orhr1rq712jff899.png-41.1kB
image_1cja6gt6rp7orhr1rq712jff899.png-41.1kB
目录
相关文章
|
6月前
|
数据可视化 数据挖掘 C++
一文入门数分三剑客--Numpy、Pandas、Matplotlib
一文入门数分三剑客--Numpy、Pandas、Matplotlib
152 0
|
存储 数据可视化 数据挖掘
【数据分析入门】Numpy进阶
【数据分析入门】Numpy进阶
|
机器学习/深度学习 PyTorch TensorFlow
[深度学习入门]Numpy基础(上)
[深度学习入门]Numpy基础(上)
|
机器学习/深度学习 数据挖掘 索引
【数据分析入门】Numpy基础
【数据分析入门】Numpy基础
|
机器学习/深度学习 数据采集 数据挖掘
【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作
【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作
88 0
|
22天前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
29 0
|
4月前
|
数据采集 数据可视化 数据挖掘
数据分析入门:用Python和Numpy探索音乐流行趋势
数据分析入门:用Python和Numpy探索音乐流行趋势
|
6月前
|
架构师 Java Python
NumPy 系列教程 001:入门和使用数组
NumPy 系列教程 001:入门和使用数组
42 0
|
6月前
|
C++ Python 索引
Python Numpy入门基础(二)数组操作
Python Numpy入门基础(二)数组操作
54 0
Python Numpy入门基础(二)数组操作
|
6月前
|
Python 索引
Python Numpy入门基础(一)创建数组
Python Numpy入门基础(一)创建数组
66 0
Python Numpy入门基础(一)创建数组