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

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

1.5 NumPy数据保存

🚩我们可以使用 save 方法去保存我们的数组:

image.png

import numpy as np
arr = np.arange(0, 10, 3)    # NumPy 的方法,功能类似
# 当前目录
np.save('./data1', arr)      # 保存

运行后我们返回到创建好的目录下:

33.png

可以发现多了一个 data1.npy 这里面就是我们刚刚保存的数组信息。

注意,如果你点开新建立的这个文件的话,会发现:

34.png

里面并没有我们想看到的存储信息,这是因为文件保存的内容是二进制的,只能使用代码去打开,下面我们介绍从文件中读取我们的数据的方法:

我们按照下述代码可以取出数据:

image.png

import numpy as np
arr = np.arange(0, 10, 3)    # NumPy 的方法,功能类似
np.load('./data1.npy')       # 取出数据

如果我们要把多个数组存入一个文件,可以使用 savez 方法:

image.png

import numpy as np
arr = np.arange(0, 10, 3)    # NumPy 的方法,功能类似
np.set_printoptions(suppress = True)
arr2 = np.logspace(0, 10, base = 2, num = 11)
np.savez('./data2.npz', x = arr, y = arr2) 
# 把arr和arr2都存入'./data2.npz'
# 把arr存入,起名为x;把arr2存入,起名为y

35.png

运行后,可以看到多了一个 data2.npz 文件,这里面就是我们刚刚保存的数组信息。

我们在取值的时候可以一个一个取:

image.png

import numpy as np
arr = np.arange(0, 10, 3)    # NumPy 的方法,功能类似
np.set_printoptions(suppress = True)
arr2 = np.logspace(0, 10, base = 2, num = 11)
np.load('./data2.npz')['x']   # 取出 x ---> 取出 arr
np.load('./data2.npz')['y']   # 取出 y ---> 取出 arr2

注意我们存的时候用什么名,取的时候就用什么名,比如:

image.png

显然在这个时候取出 y 的话就是错误的。

读写csv、txt文件:

image.png

image.png

import numpy as np
arr = np.random.randint(0, 10, size = (3, 4))
# 储存数组到csv文件 
np.savetxt("./arr.csv", arr, delimiter = ',')  # 存储到txt文件也一样
# 读取文件
np.loadtxt('./arr.csv', delimiter = ',', dtype = np.int32)

1.6 NumPy数据类型

🚩我们的数据类型包涵三大类:

整数

浮点数

字符串

ndarray的数据类型:

  • int(整数): int8、uint8、int16、int32、int64
  • float(浮点数): float16、float32、float64
  • str(字符串)


float16 float32int16 int 32有什么不同:数字越大,证明其在内存中所占内存越大,当然相应的,可以表示的数的范围也就越大:如 int8 的范围大小为 28,但是因为它既包含正数也包含负数,故它其实可以表达的范围就是 [-128, 127] ,unit8 的范围也是28,同的是它不包含负数即只包含0和正数,故 unit8 的取值范围就是 [0, 255],使用 astype() 方法可以转换数据类型:

我们在创建类型的时候,可以用dtype指明它的数据类型

image.png

当然,我们还可以给它为 int32:

image.png

我们输入如下代码,编译运行:

image.png

然后返回到我们的文件夹查看我们刚刚保存的两个文件:

36.png

很直观的可以注意到,两个文件的大小相差大致为8倍,这个的原因其实就是 64 / 8 = 8

使用 astype() 方法可以转换数据类型:

image.png

这里我们需要注意,转换之后,原数组的数据类型是不变的,使用astype()进行转换可以说是创建了一个新的数组:

image.png

1.7 NumPy数组运算

🚩数组运算包含一个数组元素内的运算以及两个或多个数组之间的运算:

1.7.1 加减乘除幂运算

image.png

我们在算次方的时候也可以调用 power() 函数

image.png

当然还有还支持 / 和 % 运算

image.png

两个数组的运算,其实就是对应位置的运算:

import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([2, 4, 4, 6, 6])
print(arr1 - arr2)   # 减法
print(arr1 + arr2)   # 加法
print(arr1 * arr2)   # 乘法
print(arr1 / arr2)   # 除法
print(arr1 ** arr2)  # 幂运算

image.png

1.7.2 逻辑运算

image.png

当然,两个数组之间也有逻辑运算:

image.png

1.7.3 += -= *= 操作

❗️ 注意:上述的操作并没有改变数组的原值,可以理解为重新创建了一个新的数组,但是下面的操作,是直接在数组的基础上进行修改,会改变数组的元素的值

37.png

注意,这里不包含 /= 运算,会报错,在这里为 //=:

image.png

目录
相关文章
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
93 3
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
71 2
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
深入浅出:用Python进行数据分析的入门指南
【10月更文挑战第21天】 在信息爆炸的时代,掌握数据分析技能就像拥有一把钥匙,能够解锁隐藏在庞大数据集背后的秘密。本文将引导你通过Python语言,学习如何从零开始进行数据分析。我们将一起探索数据的收集、处理、分析和可视化等步骤,并最终学会如何利用数据讲故事。无论你是编程新手还是希望提升数据分析能力的专业人士,这篇文章都将为你提供一条清晰的学习路径。
|
4月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--进阶
Python数据分析篇--NumPy--进阶
39 0
|
4月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
68 0
|
6月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
109 2
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
306 4
|
6月前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
120 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
3月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
191 4
数据分析的 10 个最佳 Python 库