机器学习预备知识: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 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
电子元件小说家2 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
网易CodeWave-小码哥2 小时前
支持多模块 Java 微服务导入|CodeWave SDD V4.5.10 上线
人工智能
AI你一生一世2 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
belldeep2 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
怕浪猫3 小时前
小程序成长计划上新:10 亿 Token 现在能调 DeepSeek-v4.1-flash了
人工智能·aigc·ai编程
ss2733 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
七牛云行业应用4 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
维克兜率天4 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python
u1301304 小时前
GitHub 热榜项目:日榜(2026-11-03)
人工智能·github