python数据分析基础003 -numpy的使用(详解)

本文介绍了Python库numpy的基础知识,包括其作为数组计算工具的强大功能、与matplotlib的结合应用、数据类型处理、数组创建与形状操作,以及与数字的加减乘除运算。
摘要由CSDN通过智能技术生成
    • 🛒3.1.1 加法
  • 🧣3.1.2 减法

  • 🧤3.1.3 乘法

  • 🧥3.1.4 除法

  • 🧥3.2 数组与数组的计算

    • 💎3.2.1 广播原则
  • ⚽3.2.2 加法

  • 🏀3.2.2 减法

  • 🏅3.2.2 乘法

  • 💉3.2.2 除法

  • ⚒结语

🐚作者简介: 苏凉(在python路上)

🐳博客主页: 苏凉.py的博客

👑名言警句: 海阔凭鱼跃,天高任鸟飞。

📰要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!

👉关注✨点赞👍收藏📂

在这里插入图片描述

🍇前言

=======================================================================

numpy通常可以和matplotlib一起使用。两者相结合可以更有效的帮助我们进行数据的分析。

接下来我们一起进入python的科学计算基础库numpy的学习吧。

前期回顾:matplotlib绘制数据可视化图形

🎈(一)numpy基础介绍

=================================================================================

在这里插入图片描述

🎆1.什么是numpy


NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

🎇2.为什么要学习numpy


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

1.一个强大的N维数组对象 ndarray

2.广播功能函数

3.整合 C/C++/Fortran 代码的工具

4.线性代数、傅里叶变换、随机数生成等功能

✨3.numpy的应用


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

🎉4.numpy的安装


pip install numpy -i https://www.pypi.douban.com/simple

🎊5.numpy库的导入


import numpy as np

🎃(二)numpy创建数组(矩阵)

=====================================================================================

:Python 没有内置对数组的支持,但可以使用 Python 列表代替。

🎄1.创建数组(array)


使用array的三种方法创建数组,返回的数组类名为numpy.ndarray类

a = np.array([5,6,7,8,9])

b = np.array(range(5,10))

c = np.arange(5,10)

print(a,type(a))

print(b,type(b))

print(c,type©)

结果:[5 6 7 8 9] <class ‘numpy.ndarray’>

🎋2.数据类型(dtype)


使用dtype方法可以返回数据类型

print(a.dtype,b.dtype,c.dtype)

结果:int32 int32 int32

附:numpy中常见的数据类型:

在这里插入图片描述

🎍3.数据类型的操作


🎎3.1 定义数据类型

使用dtype参数指定数据类型

x1 = np.array(range(5,10),dtype = ‘float’)

print(x1,x1.dtype)

结果: [5. 6. 7. 8. 9.] float64

bool类型返回true和false

x2 = np.array([0,1,1,0,1,0,1],dtype=bool)

print(x2,x2.dtype)

结果:[False True True False True False True] bool

🎐3.2 调整数据类型

调整数据类型用到astype方法,可以将原数据类型调整到我们想要的数据类型

x3 = np.array(range(5,10),dtype = ‘int8’)

x4 = x3.astype(‘int32’)

print(x3.dtype,x4.dtype)

结果:int8 int32

🎑3.3 保留n位小数

在numpy中保留n位小数用到的是round方法

例:保留3位随机小数

x5 = random.random()

x6 = np.round(x5,3)

print(x6)

结果:0.313

🎀(三)数组的计算

=============================================================================

数组分为一维数组,二维数组和多维数组。接下来就让我们一起看看在numpy中如何对数组进行操作的吧!!

🎁1.查看数组形状


shape()方法查看数组形状可以判断出这是几维数组

🎗1.1 创建一维数组

a = np.array(range(13))

print(a,a.shape)

结果:

在这里插入图片描述

🎠1.2 创建二维数组

a1 = np.array([[1,2,3],[4,5,6],[7,8,9]])

print(a1)

print(a1.shape)

结果:

在这里插入图片描述

🎡1.3 创建三维数组

a2 = np.array([[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]])

print(a2)

print(a2.shape)

结果:

在这里插入图片描述

可以看出shape方法返回的值中有多少个该数组就是几维数组。

🎢2. 修改数组形状


在numpy中用reshape()方法修改数组的形状可以将n维数组修改到m维数组。

🎪2.1 将1维数组变为3维数组

a3= np.array(range(24))

print(a3.shape) #原a3为1维数组

a4 = a3.reshape(2,3,4)

print(a4)

print(a4.shape)

结果:

在这里插入图片描述

🎭2.2 将3维数组变到1维数组

a5 = a4.reshape(24,)

print(a5)

print(a5.shape)

结果:

在这里插入图片描述

在numpy中将多维数组变到1维数组还有一种方法,那就是flatten()方法,这种方法适用于我们不知道有多少个数组元素时使用。

a5 = a4.flatten()

print(a5)

print(a5.shape)

结果和上面相同。

🎨3.数组的计算


🎰3.1 数组与数字的计算

🛒3.1.1 加法

数组内的每个元素都加上这个数。

import numpy as np

a = np.array(range(24))

b = a.reshape(4,6)

print(b)

print(b+1)

结果:

在这里插入图片描述

🧣3.1.2 减法

数组内的每个元素都减去这个数。

import numpy as np

a = np.array(range(24))

b = a.reshape(4,6)

print(b)

print(b-1)

结果:

在这里插入图片描述

🧤3.1.3 乘法

数组内的每个元素都乘以这个数。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中…(img-KSuicfOo-1713670285647)]

[外链图片转存中…(img-4MpoQQkB-1713670285648)]

[外链图片转存中…(img-qqubRmgv-1713670285649)]

[外链图片转存中…(img-ciOh6VYD-1713670285649)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值