Numoy 数组切片、迭代|学习笔记

简介: 快速学习 Numoy 数组切片、迭代

开发者学堂课程【高校精品课-华东师范大学-人工智能基础:Numoy 数组切片、迭代】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/920/detail/15573


Numoy 数组切片、迭代

 

内容介绍

一、Numpy 与 ndarray 的转换

二、ndarray 数组的切片,迭代和索引

三、统计计算

 

一、Numpy 与 ndarray 的转换

Numpy 和 ndarray 是机器学习常用的软件。数据类型,例如列表等,能否和 ndarray 进行转换呢?

答案是可以的。Numpy 中可以通过 array() 函数将 Python 中常见的数值序列转换为 ndarray 数组。例如list列表,Tuple (元组)等

将 list 转换成 ndarray。首先输入

import numpy as np

data=[[2000,'benz',1.5],

[2002, aodi',3.6],

[2002,'50',2.9]]

 image.png

接下来使用 Numpy array() 函数,输入 ndarr=np.array(data)将 data 写入其中print(ndarr)。运行,随即生成 ndarray 数组。运用 Printtype(ndarr))查看检查确实是 Numpy ndarray 格式

 

二、ndarray 数组的切片,迭代和索引

对数据序列对象取一部分操作。前面介绍过,字符串列表元组都支持切片语法,ndarray 数组与其他数据系列类似,也可以进行索引切片和迭代。对安德瑞进行切片操作,也是用索引标记切片的起始和终止位置。因为ndarray 可以是多维数组。在进行切片时,通常需要设定每个维度上的切片位置。比如:对刚才的 ndarray

adarr[2][1] ,运行后返回50。

image.png

adarr[:,2]。返回最后一列,数组的迭代也比较类似。先来看一维上的迭代:

for row in ndarr:

print(row,end=’'),运行,数据逐行读取并显示,每一行后的空格是 print(row,end=’')的设置,Python的 print 语句默认的是每次打印完就进行换行。多维数组的迭代需要使用 for 循环的嵌套。

以二维数组的迭代为例。

输入:

for x in ndarr:

for y in x:

print(y,end=' |')

image.png

运行后,经过嵌套循环读取二维数组中的每一个元素,而上一个例子中是一次读取一行。另外还有一种方法能对 ndarray 进行遍历,就是 Numpy  中提供的迭代器对象 Numpy.nditer 可以很方便的对数组进行迭代。

输入:

for xin np.nditer(ndarr):

print(x)

将数组按顺序读取出来,还可以用参数 aodi 控制迭代顺序。如 nditer= a。aodi=f,就是按列进行迭代。如果需要特定的顺序,可以设置显示参数 aodi 强制 nditer 对象使用某种顺序。比如:这段程序从运行结果能看出,原数组是三行四列,C 风格的顺序是0,10,15,20,25,直到55,是逐行读取。F风格的顺序是,0, 20,40,5,25,45,是逐列读取。Numpy 中的 ndarray 可以进行一些基本的运算,包括条件运算、统计运算以及基本数组运算等。

条件运算:

Numpy 里的条件运算,既包括常见的比较大小运算,还可以使用 where 函数实现查找操作。where 函数格式如下,Where 第一个参数是 condition x if true why if false。根据条件表达式 condition 的值返回特定的数组,当条件为真时,返回X数组,条件为假时,返回Y数组。输入:import numpy as np

随即生成正态分布:

num=np. random.normal(0,1,(3,4)),

随即生成正态分布的3乘4数组,

Piint(num)

查看结果,小于0.5的设置为零。

image.png

num[num<0.5]=0

print(num)

将小于0.5的设置为零,筛选函数 where 可以选取大于0.5的,并显示为一。

输入:

print(np.where(num>0.5.1.0))

选取大于0.5的,并显示为一。这里大于0.5的原数据没有真正改变。

 

三、统计计算

Numpy 提供了一些统计函数,能实现加和、平均值、最大、最小等数值处理。假如要显示不同轴上的统计结果,可以使用 ndarray 的sum方法,另外通过设定 access 参数。可以沿不同轴进行求和,常用的统计函数有:

函数         描述 

argmax    求最大值的索引

argmin    求最小值的索引

cumsum   从第一元素开始累加各元素

max       求最大值

mean      求算术平均值

min        求最小值

std        求数组元素沿给定轴的标准偏差

Sum       求和 

来看 ndarray 的统计计算:

输入:

num=np. random.normal(0,1,(3,4))

maxNum=np.max(num,axis=0)

print(maxNum)

运行。

求出了每列的最大值。

下面求每一行的平均值:

输入:

avg=np.mean(num,axis=1)

print(avg)

求出每一行的平均值。

求每一列的加和:

输入:

sumNum=np.sum(num,axis=0)

print(sumNum)

求出每一列的加和。

我们介绍了 Numpy 的 ndarray 数组的切片,迭代和索引,还介绍了 Numpy 的运算功能,Numpy 在数组方面处理能力强大,成为机器学习的重要模块。

相关文章
|
存储 缓存 负载均衡
什么是CDN(内容分发网络)?
什么是CDN(内容分发网络)?
9514 7
|
16天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
30710 102
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
6天前
|
应用服务中间件 API 网络安全
3分钟汉化OpenClaw,使用Docker快速部署启动OpenClaw(Clawdbot)教程
2026年全新推出的OpenClaw汉化版,是基于Claude API开发的智能对话系统本土化优化版本,解决了原版英文界面的使用壁垒,实现了界面、文档、指令的全中文适配。该版本采用Docker容器化部署方案,开箱即用,支持Linux、macOS、Windows全平台运行,适配个人、企业、生产等多种使用场景,同时具备灵活的配置选项和强大的扩展能力。本文将从项目简介、部署前准备、快速部署、详细配置、问题排查、监控维护等方面,提供完整的部署与使用指南,文中包含实操代码命令,确保不同技术水平的用户都能快速落地使用。
4404 0
|
12天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
6312 16
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
11天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4429 9
|
13天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
5441 17
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
13天前
|
存储 人工智能 机器人
OpenClaw是什么?阿里云OpenClaw(原Clawdbot/Moltbot)一键部署官方教程参考
OpenClaw是什么?OpenClaw(原Clawdbot/Moltbot)是一款实用的个人AI助理,能够24小时响应指令并执行任务,如处理文件、查询信息、自动化协同等。阿里云推出的OpenClaw一键部署方案,简化了复杂配置流程,用户无需专业技术储备,即可快速在轻量应用服务器上启用该服务,打造专属AI助理。本文将详细拆解部署全流程、进阶功能配置及常见问题解决方案,确保不改变原意且无营销表述。
5975 5
|
15天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7647 17