机器学习预备知识:numpy、pandas、matplotlib库

正式开启机器学习的学习之前,我们需要掌握numpy(处理矩阵的库),panda(处理表盒的库)

numpy库

  • 是 Python 科学计算的基础库,全称为 Numerical Python,主要用于数值计算与多维数组操作。我们重点掌握多维数组,用来处理矩阵。
  • ndarray 多维数组:同类型元素的连续存储结构,支持矢量运算、广播机制,性能远高于 Python 原生列表。
  • 数值计算工具:包含线性代数、傅里叶变换、随机数生成、统计运算等功能。
  • 底层优化:核心由 C 语言实现,支持并行计算,兼顾 Python 的易用性与编译语言的速度。
1、数组的创建,维度:
python 复制代码
#导入库并重命名
import numpy as np

#创建数组
l=[1,2,3,4,5]
a=np.array(l)  #数组只接受接收「一个整体的数据集」(如列表、元组、嵌套列表),而不是零散的值。第二个参数可以指定参数的类型
print(a)

#数组的维度,即层层嵌套,多嵌套一层,就多一个维度
print(a)#一维数组
b=np.array([a,a,a]) 
print(b)#二维数组
c=np.array([b,b,b])
print(c)#三维数组

#由于数组只接受一个完整的数据集,下面这个代码会报错
b=np.array(a,a,a) 
print(b)#二维数组

#打印数组的大小,形状,维度,数据类型
print(c.size,c.shape,c.ndim,c.dtype)
2、改变数组维度
python 复制代码
import numpy as np
l=[1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2]
a=np,array(l)

#reshape改变维度

b=a.reshape(4,4)
c=a.reshape(4,-1) #-1表示自动计算该维度的行数
print(b)
print(c)


d=b.reshape(2,-1)#将b降成二维
print(d)

#将高纬度转变成一维ravel
e=b.ravel()
print(e)

#返回数组的副本flatten
f=a.flatten
print(f)

# flatten方法返回的是原数组的副本,这意味着对返回的一维数组所做的任何修改都不会影响原始的多维数组。
# ravel方法(如果可能)返回的是原始数组的视图,因此对返回的一维数组所做的修改可能会影响原始的多维数组。这是因为ravel只是改变了数组的形状和步长,而没有复制数据。

那么reshape()方法返回的是视图还是副本呢?

视图:和原来的数组共享存储空间,比如上面代码中,修改b中的某个值,a对应的值也随之改变,因为本质是同一个数据。

副本:单独开辟新的存储空间,副本中的值改变不影响原数组。

对数组进行切片等操作返回的是视图。

数组本身会在内存中开辟连续的存储空间。

①reshape()操作的对象没有改变原来数组的连续的存储顺序时,比如直接对原数组reshape,返回的是视图。

②reshape()的操作对象改变了原来数组的连续的存储顺序时,比如对原数组以步长为2进行切片的对象使用reshape(),此时返回副本。

3、创建特殊的数组
4、numpy中的两个常用函数

一次性产生规律数据的数组:

5、数组元素的选取与修改

使用中括号选取:array1【】,选取某些元素时需要以一个列表整体的形式传入数据比如array1【【1,2,5】】。

6、数据的组合
7、数组元素的切割

水平切割不是指沿着水平方向切割,而是切分出来的数组可以沿着水平方向拼接至完整,其实是沿着竖直方向切割。

8、数组的算数运算

即对应元素进行算数运算

休息,明天再写

相关推荐
傻啦嘿哟1 分钟前
深度学习破解复杂验证码:CNN实战指南
人工智能·深度学习·cnn
生信碱移7 分钟前
单细胞空转CNV分析工具:比 inferCNV 快10倍?!兼容单细胞与空转的 CNV 分析与聚类,竟然还支持肿瘤的亚克隆树构建!
算法·机器学习·数据挖掘·数据分析·聚类
WHS-_-20229 分钟前
Monostatic Sensing With OFDM Under Phase Noise: From Mitigation to Exploitation
5g·机器学习
人工智能培训15 分钟前
深度学习—卷积神经网络(4)
人工智能·深度学习·神经网络·机器学习·cnn·dnn
小糖豆巴拉巴拉29 分钟前
AI应用(1)-基础概念的理解
人工智能
CES_Asia36 分钟前
亚洲科技话语权之争:CES Asia 2026核心展区席位进入收官阶段
大数据·人工智能·科技·物联网·机器人
一个会的不多的人38 分钟前
人工智能基础篇:概念性名词浅谈(第十四讲)
人工智能·制造·数字化转型
Brduino脑机接口技术答疑38 分钟前
TDCA 算法在 SSVEP 场景中:Padding 的应用对象与工程实践指南
人工智能·python·算法·数据分析·脑机接口·eeg
玄同7651 小时前
Python 装饰器:LLM API 的安全与可观测性增强
开发语言·人工智能·python·安全·自然语言处理·numpy·装饰器
房产中介行业研习社1 小时前
市面上比较主流的房产中介管理系统有哪些推荐?
大数据·人工智能·房产直播技巧·房产直播培训