数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)—NumPy—Numpy 高级—通用函数(1)(九)

简介: 你好,感谢你能点进来本篇博客,请不要着急退出,相信我,如果你有一定的 Python 基础,想要学习 Python数据分析的三大库:numpy,pandas,matplotlib;这篇文章不会让你失望,本篇博客是 【AIoT阶段一(下)】 的内容:Python数据分析,

2.3 通用函数

2.3.1 元素级数字函数

🚩NumPy 中和数学相关的函数有很多:abs、sqrt、square、exp、log、sin、cos、tan,maxinmum、minimum、all、any、inner、clip、round、trace、ceil、floor,下面我们挑几个常用的进行代码演示,感兴趣的读者可以自己搜索其他函数的用法并实践,这里不做过多演示:

# 圆周率
display(np.pi)
# 计算 sin90°
display(np.sin(90))  # 这是不合法的,90是int型,而非度数
display(np.sin(np.pi / 2))  # pi 是 180°,故 pi / 2 就代表 90°
# 计算 cos90°
display(np.cos(np.pi / 2))

image.png

一个很有意思的现象出现了,计算 cos90°的结果并不显示0,而是显示e-7,这是因为我们在计算的过程中会有精度问题,故我们一般表示0即当一个数小于一个很小的数的时候,我们就认为这个数为0,我们可以使用 round(n) 函数让它保留n位小数:

# 保留一位小数:
display(np.cos(np.pi / 2).round(1))
# 保留五位小数:
display(np.cos(np.pi / 2).round(5))

image.png

可以看到,就算我们保留五位小数,依旧是0,故我们认为这个数是0

# 开平方
display(np.sqrt(1024))
# 平方
display(np.square(8))
# 幂运算
display(np.power(2, 3)) # 计算2的3次方
# log运算
display(np.log2(16))  # 计算log以2为底16的对数

image.png

# 依次比较两个等长数组,返回对应位置元素的最大值
x = np.array([6, 6, 0, 7, 2, 5]) 
y = np.array([9, 5, 6, 3, 4, 2]) 
display(np.maximum(x, y))
# 依次比较两个等长数组,返回对应位置元素的最小值
x = np.array([6, 6, 0, 7, 2, 5]) 
y = np.array([9, 5, 6, 3, 4, 2])
display(np.minimum(x, y))

image.png

# 返回一维数组向量内积
arr = np.random.randint(0, 10, size = (2, 2)) 
display(arr)
np.inner(arr[0], arr)

image.png

a = 6.66666
# 向上取整
display(np.ceil(a))
# 向下取整
display(np.floor(a))

image.png

# 裁剪,小于就拔高,大于就降低
arr = np.random.randint(0, 30, size = 20)
display(arr)
# 10:小于10:变成10;
# 20:大于20:变成20
np.clip(arr, 10, 20)

image.png

2.3.2 where函数

import numpy as np 
arr1 = np.array([9, 7, 9, 9, 6]) 
arr2 = np.array([2, 1, 2, 0, 6]) 
cnt = np.array([False, False, True, False, True]) 
# 根据条件进行筛选
display(np.where(cnt,arr1,arr2)) # True选择arr1,False选择arr2的值
arr3 = np.random.randint(0, 30, 20)
display(arr3)
# 如果 arr3 的元素值小于15就输出,否则输出-15
display(np.where(arr3 < 15, arr3, -15))

image.png

2.3.3 排序方法

🚩NumPy中还提供了排序方法,排序方法是就地排序,即直接改变原数组:

arr.sort()、np.sort()、arr.argsort()

import numpy as np 
arr = np.array([14, 9, 13, 13, 18, 18, 18, 7, 5, 11]) 
# 直接让原数组从小到大进行排序
arr.sort() 
display(arr)
# 返回深拷贝排序结果 
np.sort(arr)
arr = np.array([14, 9, 13, 13, 18, 18, 18, 7, 5, 11]) 
display(arr)
# 返回从小到大排序的索引
display(arr.argsort()) 

image.png





目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
41 2
|
2月前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
38 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
2月前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
59 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
2月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
43 1
|
2月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--进阶
Python数据分析篇--NumPy--进阶
21 0
|
2月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
38 0
|
3月前
|
算法 索引 Python
Numpy 的一些以 arg 开头的函数
Numpy 的一些以 arg 开头的函数
49 0
|
19天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
57 4
数据分析的 10 个最佳 Python 库
|
4月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
88 2
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
213 4