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

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

2.Numpy 高级

2.1 数据形状改变

2.1.1 数组变形

🚩我们可以使用 reshape() 方法,把数组任意的进行形状的变化:

import numpy as np
nd2 = np.random.randint(0, 100, size = (3, 4))
display(nd2)
# 数据重塑 reshape
# 我们的 nd2 是一个三行四列的数组,我们可以把它变成四行三列
display(nd2.reshape(4, 3))
# 再来举例,我们把它变成两行六列
# 方法一:
display(nd2.reshape(2, 6))
# 方法二:
display(nd2.reshape(-1, 6))
# -1 表示的是最后计算:相当于 x * 6 = 3 * 4 ---> x = 2
# -1 适合不关心总数的情况,不关心总数是多少,比较灵活
display(nd2.reshape(-1))
# 相当于 x = 3 * 4 ---> x = 12

image.png

2.1.2 数组堆叠

🚩我们可以使用 concatenate() 进行数组的合并:

arr1 = np.random.randint(0, 10, size = (2, 4))
arr2 = np.random.randint(0, 10, size = (2, 4))
display(arr1, arr2)
# 合并,默认进行(xing)行(hang)合并
display(np.concatenate([arr1, arr2]))
# 我们还可以合并多个
display(np.concatenate([arr1, arr2, arr1]))

image.png

那么我们是否可以合并一个三行四列的数组和一个四行三列的数组呢?

20.png

真的没有办法了么?其实不然,我们通过观察这两个数组可以发现,虽然这两个数组的列数不同,但是这两个数组的行数是相同的,故我们可以进行列合并:

arr1 = np.random.randint(0, 10, size = (3, 5))
arr2 = np.random.randint(0, 10, size = (3, 4))
display(arr1, arr2)
# axis = 0(默认值),代表行
# axis = 1表示列,-1也可以表示
display(np.concatenate([arr1, arr2], axis = 1))
display(np.concatenate([arr1, arr2], axis = -1))

image.png

2.1.3 数组拆分

🚩使用 split() 函数可以把数组进行拆分:

nd = np.random.randint(0, 100, size = (6, 9))
display(nd)
# 行拆分
display(np.split(nd, 2)) # 平均拆分为2份
display(np.split(nd, 3)) # 平均拆分为3份

21.png

我们还可以不是平均拆分:

nd = np.random.randint(0, 100, size = (6, 9))
display(nd)
# 列表表示按节点进行拆分
np.split(nd, [1, 4, 5])
# 1 切一刀,4 切一刀,5 切一刀
# 分成了 [0, 1) [1, 4) [4, 5) [5, 6)

image.png

我们不仅可以拆分行,也可以拆分列,还是和 2.1.2 数组堆叠 一样,参数 axis = 0(默认值),代表行axis = 1,代表列

nd = np.random.randint(0, 100, size = (6, 9))
display(nd)
np.split(nd, 3, axis = 1) # 平均拆成三分(列拆分)
# 列表表示按节点进行拆分
np.split(nd, [1, 4, 5], axis = 1)
# 1 切一刀,4 切一刀,5 切一刀
# 分成了 [0, 1) [1, 4) [4, 5) [5, 9)

22.png

2.1.4 数组转置

🚩对于数组的转置,我们可以利用 T 进行转置,也可以使用 numpy 中的 transpose() 方法:

A = np.random.randint(0, 10, size = (3, 5))
display(A)
# 所谓转置就是行变列,列边行
display(A.T)
# 还可以按照下面的方法进行转置
display(np.transpose(A, axes = [1, 0]))

image.png



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

热门文章

最新文章