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

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

2.5 训练场

2.5.1 给定一个4维矩阵,如何得到最后两维的和?(提示,指定axis进行计算)

import numpy as np
arr = np.random.randint(0, 10, size = (2, 3, 4, 5))
display(arr)
display(arr.sum(axis = 0))  # 第0维的数据进行加和
display(arr.sum(axis = 1))  # 第1维的数据进行加和
display(arr.sum(axis = -1)) # 最后一维的数据进行加和
# 最后两维的和
# 写法一:
display(arr.sum(axis = (-1, -2)))
# 写法二:
display(arr.sum(axis = (2, 3)))

28.png

2.5.2 给定数组[1, 2, 3, 4, 5],如何得到在这个数组的每个元素之间插入3个0后的新数组?

import numpy as np
arr1 = np.arange(1, 6)
display(arr1)
# 每个元素之间插入3个0,共插入3*4=12个0
# 再加上初始的5个值,共需要17个位置
# 创建一个长度为17的全部是0的数组
arr2 = np.zeros(shape = 17, dtype = np.int16)
display(arr2)
# 有间隔的,每4个取一个,取出数据并进行替换
arr2[::4] = arr1
display(arr2)

image.png

2.5.3 给定一个二维矩阵(5行4列),如何交换其中两行的元素(提示:任意调整,花式索引)?

import numpy as np
arr = np.random.randint(0, 100, size = (5, 4))
display(arr)
# 使用花式索引进行交换
arr = arr[[0, 2, 1, 3, 4]]
display(arr)

image.png

2.5.4 创建一个100000长度的随机数组,使用两种方法对其求三次方(1、for循环;2、NumPy自带方法),并比较所用时间

%%time:可以显示代码的运行时间,这个执行时间会和电脑的性能挂钩

使用 for 循环

%%time
import numpy as np
arr = np.random.randint(0, 10, size = 100000)
res = []
for item in arr:
    res.append(item ** 3)

image.png

使用NumPy自带方法

%%time
import numpy as np
arr = np.random.randint(0, 10, size = 100000)
res = []
arr2 = np.power(arr, 3)

image.png

可以发现,使用 NumPy 自带方法运行效率要远远高于使用 for 循环

2.5.5 创建一个5行3列随机矩阵和一个3行2列随机矩阵,求矩阵积

import numpy as np
A = np.random.randint(0, 10, size = (5, 3))
B = np.random.randint(0, 10, size = (3, 2))
display(A, B)
# 调用 NumPy 函数 dot
print('方式一:\n', np.dot(A, B))
# 调用对象方法
print('方式二:\n', A.dot(B))
# 使用符号计算
print('方式三:\n', A @ B)

29.png



目录
相关文章
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
深入学习NumPy库在数据分析中的应用场景
深入学习NumPy库在数据分析中的应用场景
|
2月前
|
机器学习/深度学习 数据挖掘 索引
Python数据分析(一)—— Numpy快速入门
Python数据分析(一)—— Numpy快速入门
|
12天前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
|
22天前
|
消息中间件 数据挖掘 Kafka
《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)(上)
《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)(上)
45 1
|
24天前
|
数据采集 数据可视化 数据挖掘
NumPy在数据分析中的核心应用
【4月更文挑战第17天】NumPy是Python数据分析基础库,核心应用包括数据结构化、预处理、统计分析和可视化。它提供`ndarray`多维数组对象及灵活索引,用于数据存储和处理。数据预处理支持缺失值处理,统计分析涵盖描述性统计和相关性分析。虽不直接支持数据可视化,但能与Matplotlib等库集成绘制图表。掌握NumPy能提升数据分析效率,助于挖掘数据价值。
|
4月前
|
存储 数据可视化 数据挖掘
NumPy 和 Pandas 数据分析实用指南:1~6 全(下)
NumPy 和 Pandas 数据分析实用指南:1~6 全
79 0
|
4月前
|
关系型数据库 MySQL 数据挖掘
NumPy 和 Pandas 数据分析实用指南:1~6 全!(上)
NumPy 和 Pandas 数据分析实用指南:1~6 全
71 0
|
4月前
|
数据可视化 安全 数据挖掘
NumPy 秘籍中文第二版:十二、使用 NumPy 进行探索性和预测性数据分析
NumPy 秘籍中文第二版:十二、使用 NumPy 进行探索性和预测性数据分析
45 0
|
18天前
|
存储 机器学习/深度学习 数据处理
NumPy:从初识到实战,探索Python科学计算的无限可能
NumPy:从初识到实战,探索Python科学计算的无限可能
38 0
|
2月前
|
机器学习/深度学习 存储 算法
Python中的NumPy库:数值计算与科学计算的基石
【2月更文挑战第29天】NumPy是Python科学计算的核心库,专注于高效处理大型多维数组和矩阵。其核心是ndarray对象,提供快速数组操作和数学运算,支持线性代数、随机数生成等功能。NumPy广泛应用于数据处理、科学计算和机器学习,简化了矩阵运算、统计分析和算法实现,是数据科学和AI领域的重要工具。