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)

numpy库(python)的更多相关文章

  1. Python的numpy库下的几个小函数的用法

    numpy库是Python进行数据分析和矩阵运算的一个非常重要的库,可以说numpy让Python有了matlab的味道 本文主要介绍几个numpy库下的小函数. 1.mat函数 mat函数可以将目标 ...

  2. Python数据分析numpy库

    1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...

  3. Python的Numpy库简述

    numpy 是 python 的科学计算库import numpy as np 1.使用numpy读取txt文件 # dtype = "str":指定数据格式 # delimite ...

  4. Python 的 Numpy 库

    Numpy: # NumPy库介绍 # NumPy的安装 #  NumPy系统是Python的一种开源的数值计算扩展 #  可用来存储和处理大型矩阵. #  因为不是Python的内嵌模块,因此 ...

  5. $python数据分析基础——初识numpy库

    numpy库是python的一个著名的科学计算库,本文是一个quickstart. 引入:计算BMI BMI = 体重(kg)/身高(m)^2 假如有如下几组体重和身高数据,让求每组数据的BMI值: ...

  6. Python的工具包[0] -> numpy科学计算 -> numpy 库及使用总结

    NumPy 目录 关于 numpy numpy 库 numpy 基本操作 numpy 复制操作 numpy 计算 numpy 常用函数 1 关于numpy / About numpy NumPy系统是 ...

  7. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  8. Python数据分析与展示(1)-数据分析之表示(1)-NumPy库入门

    Numpy库入门 从一个数据到一组数据 维度:一组数据的组织形式 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织. 可用类型:对应列表.数组和集合 不同点: 列表:数据类型可以不同 数组: ...

  9. 用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)

    在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将 ...

  10. Python之Numpy库常用函数大全(含注释)(转)

    为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...

随机推荐

  1. [简单] 树上的dfs & bfs_洛谷P5908 猫猫和企鹅

    题目链接https://www.luogu.com.cn/problem/P5908 题目大意: \[\begin{align*} & 给定n个点构成一颗树 每条边val=1\\ & ...

  2. 一个好用的消息推送服务【Server 酱】

    今天给大家介绍一个好用的消息推送服务Server 酱 Server 酱简介 Server 酱是什么 「Server 酱」,英文名「ServerChan」,是一款「手机」和「服务器」.「智能设备」之间的 ...

  3. SMU Summer 2024 Contest Round 5

    SMU Summer 2024 Contest Round 5 Robot Takahashi 思路 按照 \(W_i\) 排个序,算一下前缀后缀 1 和 0 的个数就行了.答案大概是一个 \(\ma ...

  4. SMU 2024 spring 天梯赛2

    SMU 2024 spring 天梯赛2 7-1 计算指数 - SMU 2024 spring 天梯赛2 (pintia.cn) #include <bits/stdc++.h> usin ...

  5. SMU Autumn 2023 Round 4(Div.1+2)

    SMU Autumn 2023 Round 4(Div.1+2) A. Access Denied 通过分析样例可以得知如果所猜字符串与答案字符串长度不同,则只要\(5ms\),且答案最多\(20\) ...

  6. Mybatis Log 插件

    目前的idea插件已经开始收费---找了一个免费的插件安装到idea中重启一下就可以了 百度网盘提取码:sjc8

  7. windows中MySQL迁移数据存放盘符位置

    由于刚开始安装mysq时都选择了默认安装,数据存放在了c盘,后面数据量过大c盘不堪重负,所以迁移数据到D盘 windows中MySQL迁移数据存放盘符位置 参考: https://blog.csdn. ...

  8. Nuitka打包

    Nuitka打包PySide6/PyQt 本文仅供本人知识总结使用,所以内容会比较浅显,不喜勿喷. 文章目录 Nuitka打包PySide6/PyQt 一.需要C++编译器 二.安装Nuitka 三. ...

  9. LaTeX 编译 acmart 文档报错:No country present for an affiliation.

    在编译一篇从 arXiv 下载的文档时遇到如下错误: Class acmart Error: No country present for an affiliation. 有两种解决方案: 将错误降级 ...

  10. Chrome 浏览器插件获取网页 window 对象(方案三)

    前言 最近有个需求,是在浏览器插件中获取 window 对象下的某个数据,当时觉得很简单,和 document 一样,直接通过嵌入 content_scripts 直接获取,然后使用 sendMess ...