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

第一阶段-第8天-NumPy入门

今日目标

  1. 安装并熟悉NumPy
  2. 理解数组与列表的区别
  3. 掌握基本的NumPy运算
  4. 理解向量化的好处

学习内容

1. 安装NumPy

pip3installnumpy

验证安装:

importnumpyasnpprint(np.__version__)

2. 创建数组

importnumpyasnp# 从列表创建a=np.array([1,2,3,4,5])print(a)# [1 2 3 4 5]print(type(a))# <class 'numpy.ndarray'># 创建特定形状的数组b=np.zeros(5)# [0. 0. 0. 0. 0.]c=np.ones(5)# [1. 1. 1. 1. 1.]d=np.arange(5)# [0 1 2 3 4]e=np.linspace(0,10,5)# [ 0. 2.5 5. 7.5 10.]print("zeros:",b)print("ones:",c)print("arange:",d)print("linspace:",e)

3. 数组的基本运算

importnumpyasnp a=np.array([1,2,3,4,5])b=np.array([10,20,30,40,50])# 逐元素运算print("加法:",a+b)# [11 22 33 44 55]print("减法:",a-b)# [-9 -18 -27 -36 -45]print("乘法:",a*b)# [ 10 40 90 160 250]print("除法:",b/a)# [10. 10. 10. 10. 10.]# 标量运算print("乘以2:",a*2)# [ 2 4 6 8 10]print("平方:",a**2)# [ 1 4 9 16 25]# 内置函数print("求和:",np.sum(a))# 15print("平均值:",np.mean(a))# 3.0print("最大值:",np.max(a))# 5print("最小值:",np.min(a))# 1

4. 多维数组

importnumpyasnp# 二维数组(矩阵)矩阵=np.array([[1,2,3],[4,5,6],[7,8,9]])print("矩阵:\n",矩阵)print("形状:",矩阵.shape)# (3, 3)print("行数:",矩阵.shape[0])# 3print("列数:",矩阵.shape[1])# 3# 按列计算print("每列的和:",np.sum(矩阵,axis=0))# [12 15 18]# 按行计算print("每行的和:",np.sum(矩阵,axis=1))# [ 6 15 24]

5. 向量化 vs 循环

importnumpyasnpimporttime n=1000000# 方法1:纯Python循环a_list=list(range(n))b_list=list(range(n,2*n))start=time.time()结果=[x+yforx,yinzip(a_list,b_list)]python_time=time.time()-start# 方法2:NumPy向量化a_np=np.arange(n)b_np=np.arange(n,2*n)start=time.time()结果=a_np+b_np numpy_time=time.time()-startprint(f"Python循环:{python_time:.4f}秒")print(f"NumPy向量化:{numpy_time:.4f}秒")print(f"加速比:{python_time/numpy_time:.1f}倍")

通常NumPy比纯Python快10-100倍。

今日练习

练习1:用NumPy重新计算MSE

importnumpyasnp 真实值=np.array([1,3,5,7,9])预测值=np.array([1.5,2.8,5.2,6.9,9.5])# 一行代码计算MSEmse=np.mean((预测值-真实值)**2)print(f"MSE ={mse:.4f}")

练习2:批量计算预测值

importnumpyasnp 输入=np.array([1,2,3,4,5])w=2.0b=1.0# 向量化预测预测值=w*输入+bprint("预测值:",预测值)# 输出: [ 3. 5. 7. 9. 11.]

练习3:矩阵乘法

importnumpyasnp# 两个矩阵相乘A=np.array([[1,2],[3,4]])B=np.array([[5,6],[7,8]])C=np.dot(A,B)# 或者 A @ Bprint("A × B =\n",C)# [[19 22]# [43 50]]

验收标准

  • 能安装并使用NumPy
  • 能创建一维和二维数组
  • 能进行基本的数组运算
  • 能解释向量化相比循环的优势
http://www.jsqmd.com/news/1250949/

相关文章:

  • 驾照照片用什么软件做?一文搞定手机端与电脑端的工具选择和实操步骤 - 软件小管家
  • 巴中CMA甲醛检测公司怎么选:只测不除的专业实验室——安鑫CMA甲醛检测及公共卫生检测 - 信誉隆金银铂奢回收
  • 2026年7月最新江诗丹顿佛山桂城万达广场维修保养服务电话 - 江诗丹顿官方服务中心
  • AppCertDlls:进程创建路径上的 DLL 入口
  • 超声波高效切水口设备直销厂家哪家强?注塑厂选型指南 - 热点品牌推荐
  • 隐藏了IP却躲不开“数字指纹”:微软遥测技术是如何协助FBI抓获黑客的?
  • FreeRTOS应用(参数,优先级,延时,钩子,任务,删除函数)
  • 影刀RPA 自动化舆情监控:关键词预警与报告生成
  • 手机拍2寸证件照全攻略:尺寸参数、拍摄技巧和免费生成工具 - 软件小管家
  • iptables 规则写完不生效,3 个常见排查点
  • 学术AI搜索工具深度测评(2024真实数据对比):Scite、Elicit、Consensus、Perplexity、Semantic Scholar谁才是论文加速器?
  • 亨得利服务项目及价格查询|服务电话及全部维修地址权威信息通告(2026年7月更新) - 亨得利官方博客
  • 权威发布:百达翡丽深圳2026年7月最新客户服务网点地址及售后电话! - 百达翡丽官方售后中心
  • 巴中CMA甲醛检测公司怎么选:只测不除的专业实验室——国康CMA检测及公共卫生检测 - 信誉隆金银铂奢回收
  • 流程引擎BPM设计之:流程二开的三种模式
  • 电瓶车托运找什么物流?慧寄侠整车直发,260元起无忧寄车 - 快递物流资讯
  • 隐私小号中间号技术架构实战:隐私通话、号码保护、AXB中继模式与企业落地避坑
  • 2026年数据分析平台选型参考 - 科技焦点
  • 2026年想采购干辣椒自动去蒂剪把机加工厂怎么联系 - 热点品牌推荐
  • 交通运输数据安全新规落地,灾备成硬性合规要求
  • 基于深度强化学习的电池储能系统优化控制实践
  • 手机证件照自己拍全教程:拍摄技巧、换底色与免费工具盘点 - AI测评专家
  • 2026年7月最新|浪琴香港售后服务中心地址汇总+客户服务电话全解析 - 浪琴官方售后服务中心
  • 2026年热门的世界魔鬼城旅游公司出行选择全攻略 - 热点品牌推荐
  • 东莞卫浴螺丝工厂选购指南 卫浴行业紧固件采购实用参考 - 热点品牌推荐
  • AI病害识别怎么分级?千寻驰观技术解读
  • 从交易到社群:车主服务生态的构建与用户价值延伸
  • 2026年贵阳工伤维权选对=省心 王兴波律师护航赔偿 - 本地品牌推荐
  • 福州CMA甲醛检测公司怎么选:只测不除的专业实验室——安鑫CMA甲醛检测及公共卫生检测 - 信誉隆金银铂奢回收
  • 2026年BI大数据分析平台横向测评 - 科技焦点