当前位置: 首页 > news >正文

Python Day25 学习

继续NumPy的学习

数组的随机创建

数组的随机化创建指的是利用NumPy等工具生成包含有随机数的数组。这些数组的元素并非是手动指定的,而是由随机数生成器自动生成的。常用于模拟实验,数据测试,初始化权重等场景。

NumPy随机数生成方法对比(从讲义中复制,方便复习)

注:rand()与random()都是均匀分布,但rand()能直接生成数组

      randn()生成的数据会有正有负,其他方法都是非负数。

代码示例

# 创建一个2*2的随机数组c,区间为[0,1)
c = np.random.rand(2, 2)  
c

输出:

array([[0.40396838, 0.67658735],[0.11142565, 0.39165721]])

代码示例:

import numpy as np
np.random.seed(42)  # 设置随机种子以确保结果可重复# 生成10个语文成绩(正态分布,均值75,标准差10)
chinese_scores = np.random.normal(75, 10, 10).round(1)# 找出最高分和最低分及其索引
max_score = np.max(chinese_scores)
max_index = np.argmax(chinese_scores)
min_score = np.min(chinese_scores)
min_index = np.argmin(chinese_scores)print(f"所有成绩: {chinese_scores}")
print(f"最高分: {max_score} (第{max_index}个学生)")
print(f"最低分: {min_score} (第{min_index}个学生)")

输出:

所有成绩: [80.  73.6 81.5 90.2 72.7 72.7 90.8 82.7 70.3 80.4]
最高分: 90.8 (第6个学生)
最低分: 70.3 (第8个学生)

注意第三行和第五行代码的含义:

数组的遍历

代码示例:

import numpy as np
scores = np.array([5, 9, 9, 11, 11, 13, 15, 19])
scores += 1 # 学习一下这个写法,等价于 scores = scores + 1
sum = 0
for i in scores: # 遍历数组中的每个元素sum += i   
print(sum)

注:这部分代码的作用是把一个数组中的每个元素都加1,然后计算所有元素的总和

这里其实也可以用Python列表,但只能用循环或者列表推导式,效率较低。NumPy数组支持“向量化”操作,可以直接对整个数组加1,优势明显。

数组的运算

(讲义内容复制)

代码示例:

import numpy as np
a = np.array([[1, 2], [3, 4], [5, 6]])
b = np.array([[7, 8], [9, 10], [11, 12]])
print(a)
print(b)

输出:

[[1 2][3 4][5 6]]
[[ 7  8][ 9 10][11 12]]

代码示例:计算两个数组的和、差、除法

print(a + b) # 计算两个数组的和
print(a - b) # 计算两个数组的差
print(a / b) # 计算两个数组的除法

矩阵点乘:

a * b # 矩阵点乘,ipynb文件中不使用print()函数会自动输出结果,这是ipynb文件的特性

矩阵乘法:

a @ b.T # 矩阵乘法,3*2的矩阵和2*3的矩阵相乘,得到3*3的矩阵

今日学习到这里,得补充线性代数的知识了(苦笑)。明日继续“数组索引”的学习,进度是快不了一点,还是慢慢来吧,加油,加油!!!@浙大疏锦行

http://www.xdnf.cn/news/444529.html

相关文章:

  • MCU裸机程序如何移植到RTOS?
  • MySQL 入门大全:数据类型
  • 【漫话机器学习系列】258.拐点(Inflection Point)
  • C++中如何实现一个单例模式?
  • Spring Cloud:构建云原生微服务架构的最佳工具和实践
  • 机密虚拟机的威胁模型
  • 仓配一体化系统如何选择,ERP、OMS、WMS 功能解析与搭配策略
  • 生成对抗网络(Generative Adversarial Networks ,GAN)
  • 仿生眼机器人(人脸跟踪版)系列之一
  • 2025tg最新免费社工库机器人
  • Kotlin Multiplatform与Flutter、Compose共存:构建高效跨平台应用的完整指南
  • 【kafka】kafka概念,使用技巧go示例
  • Daily AI 20250514 (迁移学习与元学习)
  • 【交互 / 差分约束】
  • 【ROS2】 核心概念5——服务(service)
  • 【!!!!终极 Java 中间件实战课:从 0 到 1 构建亿级流量电商系统全链路解决方案!!!!保姆级教程---超细】
  • 通过泛域名解析把二级域名批量绑定到wordpress的指定页面
  • Ubuntu磁盘空间分析:du命令及常用组合
  • AI 产业化浪潮:从生成智能到星载计算,中国如何重塑全球竞争格局
  • Hadoop的组成
  • 分布式系统中的Paxos协议
  • 软件兼容性测试有哪些类型?专业软件测评服务机构分享
  • Python笔记:c++内嵌python,c++主窗口如何传递给脚本中的QDialog,使用的是pybind11
  • Excel中批量对多个结构相同的工作表执行操作,可以使用VBA宏来实现
  • 可变形卷积简介(Deformable Convolution)
  • 基于OpenCV中的图像拼接方法详解
  • 前端最新面试题及答案 (2025)
  • e.g. ‘django.db.models.BigAutoField‘.
  • 【android bluetooth 协议分析 12】【A2DP详解 1】【车机侧蓝牙音乐免切源介绍】
  • JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践