Python-numpy基础--------2

1.full()创建函数

目录

1.full()创建函数

2.创建单位矩阵

3.linspace创建

4.logspace 创建

5.二维数组的索引和切片:

1.索引直接获取


在NumPy中,full() 函数用于创建一个给定形状、类型的新数组,并用指定的值填充这个数组。这个函数非常有用,当你需要快速初始化一个特定值填充的数组时。

函数语法:

numpy.full(shape, fill_value, dtype=None, order='C')
  • shape:数组的形状,整数或整数元组的序列。
  • fill_value:填充数组的值。
  • dtype:数组的数据类型,如果未给出,则根据其他输入参数的数据类型来推断。
  • order:{'C', 'F'},是否以行优先(C-style)或列优先(Fortran-style)顺序存储多维数据。这主要影响内存布局,并且对于二维数组,'C'意味着第一维度是行,'F'意味着第一维度是列。对于一维数组,这个参数没有影响
import numpy as np# 创建一个一维数组,长度为5,所有元素都填充为7
arr_1d = np.full(5, 7)
print(arr_1d)# 创建一个2x3的二维数组,所有元素都填充为8
arr_2d = np.full((2, 3), 8)
print(arr_2d)# 创建一个3x4的二维数组,所有元素都填充为9.5,指定数据类型为float
arr_2d_float = np.full((3, 4), 9.5, dtype=float)
print(arr_2d_float)# 创建一个形状为(2, 2, 2)的三维数组,所有元素都填充为True,数据类型为bool
arr_3d = np.full((2, 2, 2), True, dtype=bool)
print(arr_3d)
#输出:
# [7 7 7 7 7]
# [[8 8 8]
#  [8 8 8]]
# [[9.5 9.5 9.5 9.5]
#  [9.5 9.5 9.5 9.5]
#  [9.5 9.5 9.5 9.5]]
# [[[ True  True]
#   [ True  True]]
# 
#  [[ True  True]
#   [ True  True]]]

2.创建单位矩阵

eye和identity的使用:

n1 = np.eye(3,dtype=int)
n2 = np.identity(3,dtype=int)

3.linspace创建

linspace 函数用于生成一个等差数列,即在线性间隔的点上返回均匀间隔的数字。这个函数非常适合于当你需要在一个指定的间隔内生成一系列数值时,比如在数据点的生成、图形的绘制等方面。

语法:

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
  • start:序列的起始值。
  • stop:序列的结束值。如果endpoint为True,则这个值会包含在生成的数组中;如果为False,则不包含。
  • num:要生成的等间隔样本数量,默认是50。
  • endpoint:布尔值,如果为True,则stop是序列中的最后一个样本;如果为False,则生成的序列不包含stop。默认是True。
  • retstep:布尔值,如果为True,则返回(samplesstep),其中step是样本之间的间隔。
  • dtype:输出数组的类型。如果不给出,则从其他输入参数推断数据类型。
  • axis:在多维样本空间中,沿其放置结果的轴。如果是0,则结果是一个一维数组;如果是整数n,则结果是一个n+1维数组。
import numpy as np# 生成从0到10(包括10)的11个等间隔点
arr = np.linspace(0, 10, 11)
print(arr)# 生成从0到10的10个等间隔点,不包括10
arr_exclude_end = np.linspace(0, 10, 10, endpoint=False)
print(arr_exclude_end)# 获取样本和样本之间的间隔
arr_with_step, step = np.linspace(0, 10, 4, retstep=True)
print(arr_with_step)
print("Step:", step) 
# 输出:
# [ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
# [0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
# [ 0.          3.33333333  6.66666667 10.        ]
# Step: 3.3333333333333335

4.logspace 创建

logspace函数,用于生成在对数尺度上均匀分布的数值序列。这个函数非常适合于需要在对数轴上等间距表示数据的场景,比如频率、能量等物理量的表示

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)
  • start:序列的起始值(作为底数的幂给出)。
  • stop:序列的结束值(作为底数的幂给出)。
  • num:生成的样本数,默认为50。
  • endpoint:如果为True,则stop是最后一个样本;如果为False,则stop不包括在内。默认为True。
  • base:对数的底数,默认为10。
  • dtype:输出数组的类型。如果未给出,则从其他输入参数推断数据类型。
  • axis:在结果数组中放置样本的轴。0表示沿着第一个轴放置,1表示沿着第二个轴,依此类推。默认为0。

         生成10到100之间的等间隔对数序列:

        

import numpy as np
logspace_values = np.logspace(1, 2, num=10)
print(logspace_values)
#输出:
# [ 10.          12.91549665  16.68100537  21.5443469   27.82559402
#   35.93813664  46.41588834  59.94842503  77.42636827 100.        ]

        生成2的幂次方的等间隔对数序列:

        

logspace_values_base2 = np.logspace(1, 4, num=10, base=2)
print(logspace_values_base2)
#输出:
# [ 2.          2.5198421   3.1748021   4.          5.0396842   6.34960421
#   8.         10.0793684  12.69920842 16.        ]

注意

  • start和stop参数:这两个参数的值应该根据实际需求进行设定,以确保生成的数组范围符合要求。同时,需要注意start的值应该小于stop的值,否则生成的数组将为空。
  • 数据类型(dtype):根据数据的特性和计算需求,选择合适的数据类型可以提高计算效率和精度。
  • endpoint参数:当endpoint为False时,生成的数组不会包含stop值对应的元素。在处理这种情况时,需要特别注意数组的实际范围,以避免计算错误或逻辑错误。

5.二维数组的索引和切片:

1.索引直接获取

使用坐标获取数组[x,y]

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

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

相关文章

【vue前端项目实战案例】Vue3仿今日头条App

本文将开发一款仿“今日头条”的新闻App。该案例是基于 Vue3.0 Vue Router webpack TypeScript 等技术栈实现的一款新闻资讯类App,适合有一定Vue框架使用经验的开发者进行学习。 项目源码在文章末尾 1 项目概述 该项目是一款“今日头条”的新闻资讯App&#xf…

go语言day14 bufio包 ioutil包

Golang-100-Days/Day16-20(Go语言基础进阶)/day16_file操作.md at master rubyhan1314/Golang-100-Days GitHub 一、bufio包 读写文件 1) bufio包下的Reader类实现了Read()方法和Write()方法 2)和io包相比,虽然都是在读写文件,…

【Android】性能实践—编码优化与布局优化学习笔记

【Android】性能实践—编码优化与布局优化学习笔记 编码优化 使用场景 如果需要拼接字符串,优先使用StringBuffer和StringBuilder进行凭借,他们的性能优于直接用加号进行拼接,因为使用加号连接符会创建多余的对象一般情况下使用基本数据类…

scrapy生成爬虫数据为excel

scrapy生成爬虫数据为excel 使用openpyxl(推荐)安装openpyxl库建一个新的Item Pipeline类在settings.py中启用ExcelPipeline说明 使用scrapy-xlsx首先,安装scrapy-xlsx:然后在Scrapy爬虫中使用管道:说明 要使用Scrapy生…

Unity扩展SVN命令

可以直接在unity里右键文件提交和查看提交记录 顶部菜单栏上回退和更新整个unity工程 SvnForUnity.CS 记得要放在Editor文件夹下 using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using UnityEditor; using Unity…

Era3D 论文学习

代码地址:https://penghtyx.github.io/Era3D/ 论文地址:https://arxiv.org/abs/2405.11616 解决了什么问题? 尽管多视角内容生成领域取得了显著的进展,但现有的方案仍然面临着相机先验不匹配、效果差、分辨率低等问题&#xff0…

Python 数据爬取理论解读

在信息化时代,数据是最宝贵的资源之一。很多企业和个人都希望能够获取大量的数据来分析趋势、了解市场、预测未来等。Python 作为一门强大的编程语言,其简洁的语法和丰富的库使得数据爬取变得相对容易。本文将从程序员的角度出发,详细探讨 Py…

windows USB 设备驱动开发- 对 MUTT 设备进行 BIOS/UEFI 测试

对 MUTT 设备进行 BIOS/UEFI 测试,BIOS/UEFI 测试验证 USB 启动以及控制器到操作系统的切换。 USB 启动配置 在 USB 2.0 (EHCI) 和 USB 3.0 (xHCI) 控制器上执行这些测试,每种主要 USB 媒体类型 ,USB 2.0 BOT、USB 3.0 BOT 和 USB 3.0 UASP…

Oracle物化视图解析

目录 一、物化视图的优点二、物化视图的缺点三、物化视图的类型四、创建物化视图五、刷新物化视图1、手动刷新2、自动刷新(1)刷新策略(2)定期刷新(3)快速刷新3.1、快速刷新过程3.2、快速刷新的优点3.3、使用…

pytorch中的面向对象编程方法

一、__xxx__形式的魔法方法 我们可以经常在python代码片段中看到类的定义,其中第一个被定义的方法往往是__init__,如下所示: class Accumulator: """在n个变量上累加"""def __init__(self, n):self.data […

【Android】ListView和RecyclerView知识总结

文章目录 ListView步骤适配器AdpterArrayAdapterSimpleAdapterBaseAdpter效率问题 RecyclerView具体实现不同布局形式的设置横向滚动瀑布流网格 点击事件 ListView ListView 是 Android 中的一种视图组件,用于显示可滚动的垂直列表。每个列表项都是一个视图对象&…

【JavaScript】前端路由

前端路由是指在前端⻚⾯内部实现⻚⾯之间的跳转,⽽不是像传统的⽹⻚跳转那样在后端进⾏⻚⾯跳转,从后端获取 html 页面。前端路由使⽤浏览器的 history 接⼝,通过改变浏览器的 URL,来更新⻚⾯的视图。 前端路由适合⽤于单⻚⾯应⽤…

Python教程(一):环境搭建及PyCharm安装

目录 引言1. Python简介1.1 编译型语言 VS 解释型语言 2. Python的独特之处3. Python应用全览4. Python版本及区别5. 环境搭建5.1 安装Python: 6. 开发工具(IDE)6.1 PyCharm安装教程6.2 永久使用教程 7. 编写第一个Hello World结语 引言 在当…

每日一题 LeetCode03 无重复字符的最长字串

1.题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长字串的长度。 2 思路 可以用两个指针, 滑动窗口的思想来做这道题,即定义两个指针.一个left和一个right 并且用一个set容器,一个length , 一个maxlength来记录, 让right往右走,并且用一个set容器来…

探索Prompt的世界

在人工智能(AI)和自然语言处理(NLP)的飞速发展中,prompt技术作为一种与语言模型交互的重要方式,正逐步占据中心舞台。为了对prompt这一概念进行全面介绍,我们将从其发展历史、运行原理、调试方式…

如何避免蓝屏?轻量部署,安全和业务连续性才能两不误

自19日起,因CrowdStrike软件更新的错误配置而导致的“微软全球蓝屏”,影响依然在持续。这场被称为“史上最大规模的IT故障”,由于所涉全球企业太多,专家估计“蓝屏”电脑全部恢复正常仍需时日。 尽管 CEO 乔治 库尔茨&#xff08…

2024年自动驾驶SLAM面试题及答案(更新中)

自动驾驶中的SLAM(Simultaneous Localization and Mapping,即同步定位与地图构建)是关键技术,它能够让车辆在未知环境中进行自主定位和地图建构。秋招来临之际,相信大家都已经在忙碌的准备当中了,尤其是应届…

Oracle星型查询转换解析

目录 一、星型查询转换原理二、配置星型查询转换三、性能考虑四、案例1、数据模型2、创建表和数据3、创建位图索引4、查询优化前5、查询优化后6、检查执行计划 Oracle的星型查询转换(Star Query Transformation)是Oracle数据库优化器的一个重要特性&…

Go语言入门之错误处理

Go语言入门之错误处理 错误处理是开发中必不可少的一个部分,go中的错误一般有两种,一种为error,一种为panic go语言通常返回一个错误值,然后检查错误值是否为nil,以此判断函数是否执行 1.Error Go使用error接口来表示一…

鸿蒙OpenHarmony Native API【drawing_pen.h】 头文件

drawing_pen.h Overview Related Modules: [Drawing] Description: 文件中定义了与画笔相关的功能函数 Since: 8 Version: 1.0 Summary Enumerations Enumeration NameDescription[OH_Drawing_PenLineCapStyle] { [LINE_FLAT_CAP], [LINE_SQUARE_CAP], [LINE_ROUND_…