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

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.lryc.cn/news/391797.html

相关文章:

  • AI技术在招聘行业的应用
  • 代谢组数据分析(十二):岭回归、Lasso回归、弹性网络回归构建预测模型
  • 顺序表(C语言详细版)
  • 【Linux】Linux常用指令合集精讲,一篇让你彻底掌握(万字真言)
  • zerotier-one自建根服务器方法五
  • 掌握MySQL基础命令:主键与外键常用的命令与操作
  • K8S之网络深度剖析(一)(持续更新ing)
  • Land survey boundary report (template)
  • [数据集][目标检测]婴儿状态睡觉哭泣检测数据集VOC+YOLO格式7109张3类别
  • 深入解析 MySQL 的 SHOW FULL PROCESSLIST
  • IPsec连接 和 SSL连接
  • Redis【超详细】
  • 通过ip获取用户位置信息以及地区时间
  • pytest-yaml-sanmu(七):使用fixture返回值
  • 2024最全软件测试面试八股文(答案+文档+视频讲解)
  • EasyBoss ERP移动端上线数据分析模块,随时查Shopee/TikTok本土店数据
  • 机器学习与AI大数据的融合:开启智能新时代
  • 视频监控业务平台LntonCVS国标视频综合管理平台功能及技术优势
  • Python面试宝典第6题:有效的括号
  • Windows上使用Navicat连接ubuntu上的mysql8报错:10061和1130
  • Feign远程调用,请求头丢失情况
  • Windows 11 安装 安卓子系统 (WSA)
  • CD4017 – 带解码输出的十进制计数器
  • Spring Boot 文件上传和下载指南:从基础到进阶
  • Windows Server 2019部署网络负载均衡NLB服务的详细操作步骤
  • Java增加线程后kafka仍然消费很慢
  • 分布式事务实现技术及考虑点
  • JavaScript中闭包的理解
  • 传统IO和NIO文件拷贝过程
  • 算法思想总结:优先级队列