day17 学习笔记

news2025/4/1 16:05:19

文章目录

  • 前言
  • 一、数组的增删改查
    • 1.resize函数
    • 2.append函数
    • 3.insert函数
    • 4.delete函数
    • 5.argwhere函数
    • 6.unique函数
  • 二、统计函数
    • 1.amax,amin函数
    • 2.ptp函数
    • 3.median函数
    • 4.mean函数
    • 5.average函数
    • 6.var,std函数


前言

通过今天的学习,我掌握了numpy中有关增删改查以及部分常用统计函数的使用方法


一、数组的增删改查

1.resize函数

  • 与reshape函数的功能相近,但可以生成任意形状的新数组,会自动根据输入的形状进行元素填充
  • 如果元素数量不够,重复数组元素来填充新的形状;若数量过多,则舍弃多余元素
array_one = np.arange(6).reshape(2, 3)
print(array_one)
print('resize 后数组:\n', np.resize(array_one, (3, 3)))
print('resize 后数组:\n', np.resize(array_one, (2, 2)))

2.append函数

  • 数组与列表相似,也有append方法,用于将元素追加到数组的末尾
  • append(arr, values, axis=None)
  • 当指定axis时,要求添加的数组与对应维度的形状一致
arr = np.arange(6).reshape(2,3)
print(arr)
arr_1 = np.append(arr,[[1,1,1],[1,1,1]])
print(arr_1)
arr_1 = np.append(arr,[[1,1,1],[1,1,1],[1,1,1]],axis=0)
print(arr_1)
arr_1 = np.append(arr,[[1,1,1,1],[1,1,1,1]],axis=1)
print(arr_1)

tips:可以这样理解axis的含义:
在这里插入图片描述

3.insert函数

  • 向数组指定索引位置插入元素
  • insert(arr, idx, values, axis)
  • 该函数会自动使用广播机制
arr = np.arange(6).reshape(2,3)
arr1 = np.insert(arr,1,[6]) #未指定axis返回一维数组
print(arr1)
arr1 = np.insert(arr,1,[6],axis=0) #在索引为1的行插入[6],并自动广播
print(arr1)
arr1 = np.insert(arr,1,[6],axis=1) #在索引为1的列插入[6],并自动广播
print(arr1)

4.delete函数

  • 删除指定索引的元素
  • delete(arr, obj, axis)
arr = np.arange(6).reshape(2,3)
arr1 = np.delete(arr,[1]) #未指定axis,先将数组转化为一维,再删除索引为1的元素
print(arr1)
arr1 = np.delete(arr,[1],axis=0) #删除索引为1的行
print(arr1)
arr1 = np.delete(arr,[1],axis=1) #删除索引为1的列
print(arr1)

5.argwhere函数

  • 返回数组中非0元素的索引
  • 若是多维数组,则返回包含行列索引坐标的数组
arr = np.arange(6).reshape(2,1,3)
print(arr)
print(np.argwhere(arr))
print(np.argwhere(arr<3)) #可以结合使用布尔索引
  • where函数返回一个元组,功能与argwhere相似,使用更加方便
  • 当where函数有三个参数时,它会根据条件来选择元素,第一个参数是条件,第二个参数是满足条件时选择的值,第三个参数是不满足条件时选择的值
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.where(arr > 3, 10, 0)
print("新数组:")
print(new_arr)

6.unique函数

  • 去除数组中的重复元素
  • unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)
    return_index:如果为 True,则返回新数组元素在原数组中的位置(索引)
    return_inverse:如果为 True,则返回原数组元素在新数组中的位置(逆索引)
    return_counts:如果为 True,则返回去重后的数组元素在原数组中出现的次数
arr = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
unique_elements, inverse_indices = np.unique(arr,return_inverse=True)
print(np.unique(arr))
print(inverse_indices) #逆索引

二、统计函数

1.amax,amin函数

  • 找出数组中的最大,最小值(可以指定axis)
arr = np.arange(6).reshape(2,3)
print(arr)
print(np.amax(arr))
print(np.amax(arr,axis=0)) #找出每一列的最大值
print(np.amax(arr,axis=1)) #找出每一行的最大值

2.ptp函数

  • 计算数组元素的极差值(可指定axis)
arr = np.arange(6).reshape(2,3)
print(arr)
print(np.ptp(arr))
print(np.ptp(arr,axis=0)) 
print(np.ptp(arr,axis=1))

3.median函数

  • 将数组元素由小到大排序后取中位数(可指定axis)
arr = np.arange(6).reshape(2,3)
print(np.median(arr))
print(np.median(arr,axis=0))
print(np.median(arr,axis=1))

4.mean函数

  • 计算数组元素的算数平均数(可指定axis)
arr = np.arange(6).reshape(2,3)
print(np.mean(arr))
print(np.mean(arr,axis=0))
print(np.mean(arr,axis=1))

5.average函数

  • 计算数组元素的加权平均值(可指定axis)
  • 相较于平均值,可以减少极差对数据均值的影响
arr = np.array([1, 2, 3, 4, 5])
weights = np.array([0.1, 0.2, 0.3, 0.2,0.2])
average_value = np.average(arr, weights=weights)
print(average_value)

6.var,std函数

  • 计算数组元素的方差和标准差
arr = np.array([1, 2, 3, 4, 5])
print(np.std(arr))
print(np.var(arr)) #总体方差
print(np.var(arr,ddof=1)) #样本方差,总体方差的无偏估计

THE END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2324631.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动语音识别(ASR)技术详解

语音识别&#xff08;Automatic Speech Recognition, ASR&#xff09;是人工智能和自然语言处理领域的重要技术&#xff0c;旨在将人类的语音信号转换为对应的文本。近年来&#xff0c;深度学习的突破推动语音识别系统从实验室走入日常生活&#xff0c;为智能助手、实时翻译、医…

git | 版本切换的相关指令

常见指令 git log --oneline #查看历史提交 git tag latest-backup # 对当前的提交进行标记&#xff0c;标记名为latest-backup git checkout -b old-version 55b16aa # 切换到[55b16aa]的提交中&#xff0c;并标记为[old-version]的分支 git checkout master …

19.OpenCV图像二值化

OpenCV图像二值化 图像二值化&#xff08;Binarization&#xff09;是图像预处理中的一种常用技术&#xff0c;其目的是将图像中的像素值分为两个类别——通常是“前景”和“背景”或者说0和255。二值化能够简化图像信息&#xff0c;为后续的形态学处理、边缘检测、目标识别等…

通过Appium理解MCP架构

MCP即Model Context Protocol&#xff08;模型上下文协议&#xff09;&#xff0c;是由Anthropic公司于2024年11月26日推出的开放标准框架&#xff0c;旨在为大型语言模型与外部数据源、工具及系统建立标准化交互协议&#xff0c;以打破AI与数据之间的连接壁垒。 MCP架构与Appi…

分享一个Pyside6实现web数据展示界面的效果图

今天又是有问题直接找DS的一天&#xff0c;每日一问&#xff0c;今天我的问题是“怎么将pyside6生成的界面转成web界面&#xff0c;使用python语言实现web界面”&#xff0c;等了一会&#xff0c;DS给我提供了两种方案&#xff0c;方案如下&#xff1a; 然后&#xff0c;让我们…

FALL靶场通关攻略

1&#xff0c;下载好靶机后打开&#xff0c;通过kali扫描靶机ip和端口&#xff0c;得到靶机ip为192.168.50.144 2&#xff0c;扫描目录 3&#xff0c;访问靶机 4&#xff0c;访问扫描到的test.php,得到缺少GET请求参数的提示 5&#xff0c;使用FUZZ来扫出参数为file 6&#xff…

Mybatis日志模块分析--适配器模式+代理模式

适配器模式 日志在我们开发过程中占据了一个非常重要的地位&#xff0c;是开发和运维管理之间的桥梁&#xff0c;在Java中的日志框架也非常多&#xff0c;Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等&#xff0c;这些工具对外的接口也都不尽相同&#xff0c;为…

圆球法线图,图生法线图 图片生成法线图

目录 圆球法线图 根据图片生成法线图 深度图计算法线图 圆球法线图 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D# 定义球体的参数 radius 1.0 resolution 100# 生成球体表面的点 u np.linspace(0, 2 * np.pi, resoluti…

Java基于SpringBoot的网络云端日记本系统,附源码+文档说明

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

【自用记录】本地关联GitHub以及遇到的问题

最近终于又想起GitHub&#xff0c;想上传代码和项目到仓库里。 由于很早之前有在本地连接过GitHub&#xff08;但没怎么用&#xff09;&#xff0c;现在需要重新搞起&#xff08;操作忘得差不多&#xff09;。 在看教程实操的过程中遇到了一些小问题&#xff0c;遂记录一下。 前…

页码设置相关问题记录

Q&#xff1a;中间没有显示页码怎么办&#xff1f; A&#xff1a;“页眉和页脚”-“页码”-“页面底端”-“普通数字2” Q&#xff1a;想让页码在某几节连续怎么办&#xff1f; A&#xff1a; ① 先保证节与节之间插入了“分节符”&#xff08;如何插入分节符和如何显示分节符…

什么是数据集市

数据集市&#xff08;Data Mart&#xff09;是数据管理领域的核心概念&#xff0c;其定义为面向特定业务领域或用户群体的小型数据仓库子集&#xff0c;专注于部门级业务分析&#xff0c;具有快速响应、灵活部署等特点。以下从定义、特点、类型、结构、应用场景及与其他数据架构…

【HC-05蓝牙模块】主要性能指标与通信基础知识

一、HC-05 基础学习视频 HC-05蓝牙串口通信模块调试与应用1 二、HC-05学习视频课件

如何缩短研发周期,降低研发成本?全星APQP软件为您提供解决方案

如何缩短研发周期&#xff0c;降低研发成本&#xff1f;全星APQP软件为您提供解决方案 一、 系统概述 全星研发管理APQP软件系统是一款专为产品研发和质量管控打造的智能化平台&#xff0c;旨在帮助企业高效推进APQP&#xff08;先期产品质量策划&#xff09;流程&#xff0c…

Github Webhook 以及主动式

Github配置 GitHub 默认支持两种 Content-Type: application/json application/x-www-form-urlencoded 特别要注意 Content-Type 我们选择: application/json Flask代码 import os import shutil import subprocess from flask import Flask, request, jsonifyapp = Fla…

猜猜我用的是哪个大模型?我的世界游戏界面简单的模拟效果

我的罗里吧嗦的&#xff0c;根据小朋友的要求&#xff0c;边听边写边输入的提示词&#xff1a; 请生成一段完整的在网页中用html5和javascript代码模拟“我的世界”中游戏场景的互动画面&#xff0c;要求提供若干人物选项可以选择&#xff0c;请自行选择需要使用哪些库或框架来…

基于龙芯3A5000处理器,全国产标准6U VPX板卡解决方案

1&#xff0c;产品功能 本产品为一款高可靠性的基于龙芯3A5000处理器以及 7A2000芯片组的标准6U VPX板卡&#xff0c;具有以太网、SATA、PCIE&#xff0c;以及显示等接口&#xff0c;产品功能框图如图1所示&#xff1a; 图1 系统框图 2&#xff0c;技术指标 序号 项目 指标…

Unity编辑器功能及拓展(3) —[Attribute]特性

在 Unity 中&#xff0c;[Attribute]格式的特性是用于扩展编辑器功能、控制序列化行为和调整 Inspector 显示,进行编辑器拓展的核心工具。 一.基础编辑器拓展 1.基础序列化控制 1.[SerializeField] 强制显示私有变量到Inspector 2.[HideInInspector] 隐藏该字段在Inspect…

HarmonyOS NEXT——鸿蒙神策埋点(二)

在上一章我分享了鸿蒙客户端集成神策埋点sdk的过程&#xff0c;现在我们需要服务端的小伙伴配置集成服务端sdk接收处理数据信息&#xff0c;以下是集成的过程。 Java服务端sdk集成 1、获取神策数据平台url地址 1、导入集成&#xff1a; dependencies {compile com.sensorsda…

编程考古-Borland JBuilder:一场关于Java灵魂的战争与救赎

本文也是填之前一位网友让谈谈JBuilder的一个坑&#xff0c;感谢各位技术爱好者的支持。感谢关注小编&#xff0c;你的关注&#xff0c;是我更新的动力。 本篇章节如下&#xff1a; 序章&#xff1a;JBuilder的黄金时代 Borland的JBuilder&#xff1a;纯技术主义的胜利 生死…