第二天——Numpy的入门和实战

第二天——Numpy的入门和实战

一、NumPy 简介

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合 C/C++/Fortran 代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

应用

NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

SciPy 是一个开源的 Python 算法库和数学工具包。

SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。

二、Ndarray 对象(np.array()创建数组)

创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

参数

名称描述
object数组或嵌套的数列
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok默认返回一个与基类类型一致的数组
ndmin指定生成数组的最小维度

实例

接下来可以通过以下实例帮助我们更好的理解。

示例 1

import numpy as np 
a = np.array([1,2,3])  
print (a)

输出结果如下:

[1, 2, 3]

示例 2

# 多于一个维度  
import numpy as np 
a = np.array([[1,  2],  [3,  4]])  
print (a)

输出结果如下:

[[1, 2] 
 [3, 4]]

示例 3

# 最小维度  
import numpy as np 
a = np.array([1,  2,  3,4,5], ndmin =  2)  
print (a)

输出如下:

[[1, 2, 3, 4, 5]]

示例 4

# dtype 参数  
import numpy as np 
a = np.array([1,  2,  3], dtype = complex)  
print (a)

输出结果如下:

[ 1.+0.j,  2.+0.j,  3.+0.j]

ndarray 对象由计算机内存的连续一维部分组成,并结合索引模式,将每个元素映射到内存块中的一个位置。内存块以行顺序(C样式)或列顺序(FORTRAN或MatLab风格,即前述的F样式)来保存元素。

三、常用的创建数组的函数

zeros函数

# zeros函数
np.zeros(8)
array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])

np.zeros((3,4))
array([[ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.]])

ones函数

np.ones(4)
array([ 1.,  1.,  1.,  1.])


np.ones((4,6))
array([[ 1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.]])

empty

empty函数可以创建一个无意义值的数组

np.empty((2,2,2))
array([[[ 0.,  0.],
        [ 0.,  0.]],

       [[ 0.,  0.],
        [ 0.,  0.]]])

arange

arange函数类似于python的内置函数range,但是arange主要用于创建数组

np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

ones_like

ones_like可以根据传入的数组形状和dtype创建全1数组

arr3
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
       
arr5 = np.ones_like(arr3)
arr5
array([[1, 1, 1, 1],
       [1, 1, 1, 1]])
       
arr5.dtype
dtype('int32')

文章选自: http://jsrun.net/t/dzpKp.
http://jsrun.net/t/FzpKp

总结

以上就是今天学习的内容,今天简单学习了Numpy的使用,如果你也想自学数据分析,与博主一起交流进步,那就快来关注博主吧。
希望通过发布这些文章可以见证博主学习的过程,同时找到一些志同道合的朋友可以一起交流进步,博主会坚持持续更新的。

第三天——数据类型:https://blog.csdn.net/qq_49225295/article/details/112798593.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值