numpy库(python)

文章目录

  • 1.numpy简介
  • 2.安装numpy
  • 3.ndarry : numpy库的心脏
    • 3.1 创建数组
    • 3.2数据类型
    • 3.3dtype

NumPy是用Python.进行科学计算,尤其是数据分析时,所用到的一个基础库。它是大量Python
数学和科学计算包的基础,比如后面要讲到的pandas)库就用到了NumPy。pandas库专门用于数据
分析,充分借鉴了Python标准库NumPy的相关概念。而Python标准库所提供的内置工具对数据分
析方面的大多数计算来说都过于简单或不够用。

1.numpy简介

Pytho语言诞生不久,开发人员就产生了数值计算的需求,更为重要的是,科学社区开始考
虑用它进行科学计算。
1995年,Jim Hugunin开发了Numeric,这是第一次尝试用Python进行科学计算。随后又诞生了
Numarray包。这两个包都是专门用于数组计算的,但各有各的优势,开发人员只好根据不同的使用
场景,从中选择效率更高的包。由于两者之间的区别并不那么明确,开发人员产生了把它们整合为
.个包的想法。Travis Oliphanti遂着手开发NumPyl库,并于2006年发布了它的第一个版本(v1.0)。
从此之后,NumPy成为Python科学计算的扩展包。如今,在计算多维数组和大型数组方面,
它是使用最广的。此外,它还提供多个函数,操作起数组来效率很高,还可用来实现高级数学运
算。
当前,NumPyz是开源项目,使用BSD许可证。在众多开发者的支持下,这个库的潜力得到了
进一步挖掘。

2.安装numpy

pip install numpy

3.ndarry : numpy库的心脏

整个NumPy库的基础是ndarray(N-dimensional array,W维数组)对象。它是一种由同质元素
组成的多维数组,元素数量是事先指定好的。同质指的是几乎所有元素的类型和大小都相同。事
实上,数据类型由另外一个叫作dtype(data-ype,数据类型)的NumPy对象来指定;每个ndarray
只有一种dtype类型。
数组的维数和元素数量由数组的型(shape)来确定,数组的型由N个正整数组成的元组来指
定,元组的每个元素对应每一维的大小。数组的维统称为轴(axes),轴的数量被称作秩(rank)。
NumPy数组的另一个特点是大小固定,也就是说,创建数组时一旦指定好大小,就不会再发
生改变。这与Python的列表有所不同,列表的大小是可以改变的。
定义ndarray最简单的方式是使用array()函数,以Python列表作为参数,列表的元素即是
ndarray的元素。

import numpy as np  
a = np.array([1,2,3])  
print(a[1])

3.1 创建数组

数组的创建方法有几种,最常用的就是前面你见过的,使用arry()函数,参数为单层或嵌套列表。

import numpy as np  
a = np.array([[1,2,3],[1,2,3]])  
print(a)

除了列表,array()函数还可以接收嵌套元组或元组列表作为参数。

a = np.array(((1,2,3),(1,2,3)))  
print(a)

此外,参数可以是由元组或列表组成的列表,其效果相同。

a = np.array(((1,2,3),[1,2,3],(1,2,3)))  
print(a)

3.2数据类型

到目前为止,我们只使用过简单的整型和浮点型数据类型,其实NuPy数组能够包含多种数据类型。

3.3dtype

array()函数可以接收多个参数。每个ndarray()对象都有一个与之相关联的dtype对象,该对
象唯一定义了数组中每个元素的数据类型。array()函数默认根据列表或元素序列中各元素的数
据类型,为ndarray()对象指定最适合的数据类型。但是,你可以用dtypej选项作为函数array()
的参数,明确指定dtypel的类型。
例如,如要定义一个复数数组,可以像下面这样使用dtype选项:

a = np.array(((1,2,3),[1,2,3],(1,2,3)),dtype=complex)  
print(a)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

improved-diffusion-main代码理解

目录 一、 TimestepEmbedSequential二、PyTorch之Checkpoint机制三、AttentionBlock四、use_scale_shift_norm 和nanoDiffusion-main相比,improved-diffusion-main代码是相似的,但有几个不是很好理解的地方记录一下。 一、 TimestepEmbedSequential 代码…

中国动物志(140卷)

中国动物志,共140卷,包括昆虫纲、鸟纲、兽纲、无脊椎动物、硬骨鱼纲等多类,是反映我国动物分类区系研究工作成果的系列专著,是研究物种多样性、探讨物种演化和系统发育的重要参考,是动物资源开发利用、有害物种控制、濒…

charles使用教程

安装与配置 下载链接:https://www.charlesproxy.com/download/ 进行移动端抓包: 电脑端配置: 关闭防火墙 Proxy–>勾选 macOS Proxy Proxy–>Proxy Setting–>填入代理端口8888–>勾选Enable transparent http proxying 安装c…

【pycharm】 Virtualenv创建venv报错

一、背景 在启动django项目时,需要创建venv环境,有时候能顺利创建成功,当python版本换成3.8时,会报错 ImportError: DLL load failed while importing _ssl: 找不到指定的模块。 二、原因和解决措施 之所以执行这个报错&#…

.NET下的开源OCR项目:解锁图片文字识别的新篇章

在数字化时代,从图片中高效准确地提取文字信息已成为众多应用场景的迫切需求。OCR(Optical Character Recognition,光学字符识别)技术正是满足这一需求的关键技术。对于.NET开发者而言,幸运的是,存在多个开…

SpringBoot的在线教育平台-计算机毕业设计源码68562

摘要 在数字化时代,随着信息技术的飞速发展,在线教育已成为教育领域的重要趋势。为了满足广大学习者对于灵活、高效学习方式的需求,基于Spring Boot的在线教育平台应运而生。Spring Boot以其快速开发、简便部署以及良好的可扩展性&#xff0c…

聚鼎科技:装饰画现在做晚不晚

在每一处光影交错的角落,墙上那一副副静默无言的装饰画,似乎总在诉说着不同的故事。如今,投身于装饰画的创作与收藏,仿佛是一场关于美和时间的赛跑,那么问题来了——现在开始,晚吗? 伴随着生活品质的提升和…

高薪程序员必修课-JVM的内存区域以及对象创建过程

JVM内存区域 在Java虚拟机(JVM)中,内存区域(Memory Areas)是对内存空间的逻辑划分,用于存储不同类型的数据和执行不同的操作。理解JVM的内存区域有助于优化程序性能、调优内存使用和排查内存相关的问题。下…

14-6 小型语言模型在商业应用中的使用指南

人工智能 (AI) 在商业领域的发展使众多工具和技术成为人们关注的焦点,其中之一就是语言模型。这些大小和复杂程度各异的模型为增强业务运营、客户互动和内容生成开辟了新途径。本指南重点介绍小型语言模型、它们的优势、实际用例以及企业如何有效利用它们。 基础知识…

RT-Thread和freeRTOS启动流程

一. freeRTOS启动流程 二. RT-Thread启动流程 因为RT-Thread中我们定义了补丁函数也叫做钩子函数--$Sub$$main()--作为一个新功能函数,可以将原有函数劫持下来,并在之后的程序运行中加上$Super $ $前缀来重新调用原始函数。 所以启动流程是$Sub$$main(…

谷粒商城笔记-04-项目微服务架构图简介

文章目录 一,网络二,网关1,网关选型2,认证鉴权3,动态路由4,限流5,负载均衡6,熔断降级 三,微服务四,存储层五,服务治理六,日志系统七&a…

【网络安全】Host碰撞漏洞原理+工具+脚本

文章目录 漏洞原理虚拟主机配置Host头部字段Host碰撞漏洞漏洞场景工具漏洞原理 Host 碰撞漏洞,也称为主机名冲突漏洞,是一种网络攻击手段。常见危害有:绕过访问控制,通过公网访问一些未经授权的资源等。 虚拟主机配置 在Web服务器(如Nginx或Apache)上,多个网站可以共…

软件测试面试题总结(超全的)

前面看到了一些面试题,总感觉会用得到,但是看一遍又记不住,所以我把面试题都整合在一起,都是来自各路大佬的分享,为了方便以后自己需要的时候刷一刷,不用再到处找题,今天把自己整理的这些面试题…

力扣热100 滑动窗口

这里写目录标题 3. 无重复字符的最长子串438. 找到字符串中所有字母异位词 3. 无重复字符的最长子串 左右指针left和right里面的字符串一直是没有重复的 class Solution:def lengthOfLongestSubstring(self, s: str) -> int:# 左右指针leftright0ans0#初始化结果tablecolle…

ctfshow-web入门-文件包含(web82-web86)条件竞争实现session会话文件包含

目录 1、web82 2、web83 3、web84 4、web85 5、web86 1、web82 新增过滤点 . ,查看提示:利用 session 对话进行文件包含,通过条件竞争实现。 条件竞争这个知识点在文件上传、不死马利用与查杀这些里面也会涉及,如果大家不熟悉…

JavaScript高级程序设计(第四版)--学习记录之对象、类和面向对象编程(中)

创建对象方式 工厂模式:用于抽象创建特定对象的过程。可以解决创建多个类似对象的问题,但没有解决对象标识问题。(即新创建的对象是什么类型) function createPerson(name, age, job) { let o new Object(); o.name name; o.age…

广和通 OpenCPU 二次开发(二) ——通过linux编译

广和通 OpenCPU 二次开发(二) ——通过linux编译 一、编译命令总结 1.编译环境配置 . tools/core_launch.sh cout cmake ../.. -G Ninja 2.编译 ninja 二、命令解释 1. 执行 tools/core_launch.sh 这是一个脚本文件 core_launch.sh,通…

技术赋能政务服务:VR导视与AI客服在政务大厅的创新应用

在数字化转型的浪潮中,政务大厅作为服务民众的前沿阵地,其服务效率和质量直接影响着政府形象和民众满意度。然而,许多政务大厅仍面临着缺乏智能化导航系统的挑战,这不仅增加了群众的办事难度,也降低了服务效率。维小帮…

内核错误定位

内核打印出如下: 在代码目录输入: ./prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb kernel/vmlinux 进入gdb 命令模式 输入 l *(rk628_csi_probe0xf0) 能定位到出现问题地方。 最后就…

PLM系统:PLM系统如何重塑产品生命周期管理

PLM系统:重塑产品生命周期管理的未来 在当今快速变化的商业环境中,产品生命周期管理(PLM)系统正逐渐成为企业提升竞争力、加速创新并优化运营流程的关键工具。随着技术的不断进步和市场需求的日益复杂化,传统的手动或…