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

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关

    • 1.数组变形reshape
    • 2.级联操作concatenate函数
      • 1.级联操作的概念
      • 2.级联操作的应用
    • 3.聚合操作sum,max,min,mean
    • 4.常用的数学函数
    • 5.矩阵相关

1.数组变形reshape

  • 多维变一维
import numpy as np
arr=np.ones((5,6),int)
arr

该数组是5行6列的数组:
array([[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1]])

a=arr.reshape((30,)) #二维变一维
a

输出:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])

  • 一维变多维
a.reshape((6,5))#一维变多维

输出:
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])

2.级联操作concatenate函数

1.级联操作的概念

将多个numpy数组进行横向或者纵向的拼接;使用concatenate((a1, a2, …), axis=0)函数。

  • a1,a2…是拼接的数组
  • axis是拼接的方向,axis=0是纵向拼接,axis=1是横向拼接;拼接的数组维度应该相同
np.concatenate((arr,arr),axis=0) #纵向拼接
np.concatenate((arr,arr),axis=1) #横向拼接

在这里插入图片描述

2.级联操作的应用

-图片的拼接

import matplotlib.pyplot as plt
arr1=plt.imread('./1.jpg')
arr2=np.concatenate((arr1,arr1,arr1,arr1),axis=1)
plt.imshow(arr2)
plt.show()

在这里插入图片描述

3.聚合操作sum,max,min,mean

arr.sum()       #求数组中所有数的和
arr.sum(axis=0)       #求每列的和
arr.sum(axis=1)       #求每行的和

在这里插入图片描述

4.常用的数学函数

  • numpy提供了标准的三角函数:sin()、cos()、tan()
  • numpy.around(a,decimals)函数返回指定数字的四舍五入值(a是数组,decimals是舍入的小数位数)
np.sin(arr)        #对数组每个数求sin
np.around(3.84)   #四舍五入结果为4.0
np.around(3.84,1)  #结果为3.8
  • 常用的统计函数
    1.numpy.ptp():计算数组中元素最大值与最小值的差(最大值-最小值)
    2.numpy.median():用于计算数组中的中位数
    3.标准差std():标准差是一组数据平均分散程度的一种度量
    在这里插入图片描述
    4.方差var():标准差是方差的平方根

5.矩阵相关

1.矩阵的转置:arr.T
2.矩阵乘法:np.dot(arr,arr)

arr_t=np.array([[1,3,2,1,3],[1,8,9,8,7],[6,7,8,4,5],[2,3,6,7,8],[2,6,4,7,3]])
print(arr_t)
print("转置后:")
print(arr_t.T)
print("矩阵相乘后:")
print(np.dot(arr_t,arr_t))

在这里插入图片描述

相关文章:

  • ActiveMQ(二)
  • 某大学ipv6和ipv4结合的校园网规划设计
  • 【程序员表白大师】html七夕脱单必看源码制作
  • 车载VPA形象发展史:谁是第一个吃螃蟹的人?
  • 22.9.30 喜迎暑假多校联赛第二场(欢乐AK找回自信)ABDEFH
  • C++----智能指针
  • SpringMVC处理Ajax请求及处理和响应json格式的数据
  • 论文复现(一)
  • 龙芯+复旦微FPGA全国产VPX高速数据采集卡解决方案
  • 前端blob数据
  • Jenkins+ant+mysql 自动化构建脚本文件输出日志
  • Unity 渲染YUV数据 ---- 以Unity渲染Android Camera数据为例子
  • 高德骨子里还是个「理工男」
  • Vue指令学习 | 零基础入门
  • promise执行顺序面试题令我头秃,你能作对几道
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Js基础知识(四) - js运行原理与机制
  • JS实现简单的MVC模式开发小游戏
  • leetcode386. Lexicographical Numbers
  • LeetCode算法系列_0891_子序列宽度之和
  • Mac转Windows的拯救指南
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 从零搭建Koa2 Server
  • 第2章 网络文档
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 基于webpack 的 vue 多页架构
  • 记一次和乔布斯合作最难忘的经历
  • 码农张的Bug人生 - 见面之礼
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 人脸识别最新开发经验demo
  • 微服务入门【系列视频课程】
  • ​Spring Boot 分片上传文件
  • #define 用法
  • (4)(4.6) Triducer
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (汇总)os模块以及shutil模块对文件的操作
  • (利用IDEA+Maven)定制属于自己的jar包
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (译)2019年前端性能优化清单 — 下篇
  • .dwp和.webpart的区别
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net 受管制代码
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET6实现破解Modbus poll点表配置文件
  • .NET基础篇——反射的奥妙
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .net专家(张羿专栏)
  • @Bean有哪些属性
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • []FET-430SIM508 研究日志 11.3.31
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬