Numpy基本操作
NumPy:数组计算
NumPy是高性能科学计算和数据分析的基础包。它是Pandas等其他各种工具的基础
NumPy的主要功能:
ndarray,一个多维数据结构,高校且节省空间
无需循环即可对整组数据进行快速运算的数学函数
读写磁盘数据的工具以及用于操作内存映射文件的工具
线性代数、随机数生成和傅里叶变化功能
用于集成C、C++等代码的工具
安装方法:pip install numpy(如果显示命令不存在可以尝试python -m install numpy)
引用方式通常喜欢给numpy模块别名:import numpy as np
NumPy简单使用
例1:已知若干家跨国公司的市值(美元),将其换算为人民币

例2:已知购物车中每件商品的价格与商品件数,求总金额

创建ndarray:np.array()
ndarray是多维数组结构,与列表的区别是:
数组对象内的元素类型必须相同
数组大小不可修改
常用属性
T 数组的转置(对二维及以上数组而言)

dtype 数组元素的数据类型
size 数组元素的个数
ndim 数组的维数
shape 数组的维度大小(以元祖的形式)

ndarray创建
arange() 比我们的python3里面的range更加强大,支持浮点数范围

linspance() 类似于arange(),第三个参数为数组长度

zeros() 根据指定形状和dtype创建全0数组

ones() 根据指定形状和dtype创建全1数组
empty() 根据指定形状和dtype创建空数组(随机值)
eye() 根据指定边长和dtype创建单位矩阵
NumPy索引切片
数组和标量(数字)之间的运算
a+1 a*3 1//a a**0.5
同样大小数组之间的运算
a+b a/b a**b
数组的索引
一维数组:a[5]
多维数组:
列表式写法:a[2][3]
新式写法:a[2,3] (推荐) 逗号隔开,前面作用于行后面作用于列
数组的切片
一维数组:a[5:8] a[4:] a[2:10] = 1
多维数组:a[1:2, 3:4] a[:,3:5] a[:,1]
与列表不同,数组切片时并不会自动复制,在切片数组上的修改会影响原数组(因为不会复制一份出去而是沿用原来的内存空间中的值)。 【解决方法:copy()】
NumPy布尔型索引
问题:给一个数组,选出数组中所有大于5的数。
答案:a[a>5]
原理: a>5会对a中的每一个元素进行判断,返回一个布尔数组 布尔型索引:将同样大小的布尔数组传进索引,会返回一个由所有True对应位置的元素的数组
问题2:给一个数组,选出数组中所有大于5的偶数。
问题3:给一个数组,选出数组中所有大于5的数和偶数。
答案:
a[(a>5) & (a%2==0)]
a[(a>5) | (a%2==0)]
NumPy花式索引
问题1:对于一个数组,选出其第1,3,4,6,7个元素,组成新的二维数组。
答案:a[[1,3,4,6,7]]
问题2:对一个二维数组,选出其第一列和第三列,组成新的二维数组。
答案:a[:,[1,3]]
必会知识点
浮点数特殊值
浮点数:float
浮点数有两个特殊值:
nan(Not a Number):不等于任何浮点数(nan != nan)
inf(infinity):比任何浮点数都大
NumPy中创建特殊值:np.nan np.inf
在数据分析中,nan常被用作表示数据缺失值
sum 求和
cumsum 求前缀和(截至当前元素及其前面所有的元素和)
mean 求平均数
std 求标准差
var 求方差
min 求最小值
max 求最大值
argmin 求最小值索引
argmax 求最大值索引
总结
数组中的数据类型必须一致,并且数组大小不可再被更改‘
对于数组求相应值由四种不同的方式:
正常的索引切片取值
行列分开的切片取值
布尔型(生成一个与原数组各元素一一对应的布尔值数组,原数组与该布尔值列表一一对应,值为True的放行~~~)
Numpy基本操作的更多相关文章
- NumPy基本操作快速熟悉
NumPy 是 Python 数值计算非常重要的一个包.很多科学计算包都是以 NumPy 的数组对象为基础开发的. 本文用代码快速过了一遍 NumPy 的基本操作,对 NumPy 整体有一个把握.希望 ...
- 矩阵库Numpy基本操作
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作. 下面对numpy中的操作进行总结. numpy包含两种基本的数据类型 ...
- numpy数组的操作
numpy - 介绍.基本数据类型.多维数组ndarray及其内建函数 http://blog.csdn.net/pipisorry/article/details/22107553 http://w ...
- numpy的使用方法
一.numpy快速入门 1.什么是numpy: numpy是python的一个矩阵类型,提供了大量矩阵处理的函数,非正式来说,就是一个使运算更容易,执行更迅速的库,因为它的内部运算是通过c语言而不是p ...
- Python的工具包[0] -> numpy科学计算 -> numpy 库及使用总结
NumPy 目录 关于 numpy numpy 库 numpy 基本操作 numpy 复制操作 numpy 计算 numpy 常用函数 1 关于numpy / About numpy NumPy系统是 ...
- Numpy和Pandas的使用入门
Numpy Numpy基本数据结构 np.array()函数接受一个多维list,返回对应纬度的矩阵 vector = np.array([1, 2, 3, 4]) matrix = np.array ...
- Pandas快速上手(一):基本操作
本文包含一些 Pandas 的基本操作,旨在快速上手 Pandas 的基本操作. 读者最好有 NumPy 的基础,如果你还不熟悉 NumPy,建议您阅读NumPy基本操作快速熟悉. Pandas 数据 ...
- Python之路-numpy模块
这里是首先需要安装好Anaconda Anaconda的安装参考Python之路-初识python及环境搭建并测试 配置好环境之后开始使用Jupyter Notebook 1.打开cmd,输入 jup ...
- 第03章 科学计算库Numpy
016.Numpy数据结构 关于矩阵运算的库 矩阵 017.Numpy基本操作 判断每一个元素的 018.Numpy矩阵属性 019.Numpy矩阵操作 020.Numpy常用函数 按列拼接就用 ...
随机推荐
- 利用Sklearn实现加州房产价格预测,学习运用机器学习的整个流程(包含很多细节注解)
Chapter1_housing_price_predict .caret, .dropup > .btn > .caret { border-top-color: #000 !impor ...
- javascript基础修炼(11)——DOM-DIFF的实现
目录 一. 再谈从Virtual-Dom生成真实DOM 二. DOM-Diff的目的 三. DOM-Diff的基本算法描述 四. DOM-Diff的简单实现 4.1 期望效果 4.2 DOM-Diff ...
- [转]gitlab cicd (二)系列之安装git-runner rpm安装方式
本文转自:https://blog.csdn.net/qq_21816375/article/details/84308748 本编是继gitlab cicd (一)系列之安装gitlb之后,基于安装 ...
- App阅读pdf和扫描二维码功能
在之前开发的Android手机App中,需要实现阅读pdf和扫描二维码的功能,在github 上找到大牛封装好包,亲测可用. 阅读pdf: https://github.com/barteksc/An ...
- Spring学习心得--------bean-Factory
在学习Spring框架的过程中发现,Spring中的bean不仅是对javabean的一种封装,让你可以通过beanfactoryAPI读取自己配置的beans.xml文件来实现javabean的设置 ...
- sql server去掉某个字段前后空格问题
数据通过页面表单保存到数据库,由于有个选项是一个树形的下拉框,导致保存的这个字段的数据前面有空格,在sql server中可以使用 SELECT LTRIM(RTRIM(BelongPartyCode ...
- Android Fragment的用法(一)
1.碎片是什么 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛.虽然碎片对你来说应该是个全新的概念,但我相信你学习起 ...
- docker与虚拟机有何不同
docker与虚拟机有何不同 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 容器技术有 ...
- input输入限制,只允许输入数字和“.”,长度不得超过20
<input style="margin-top: 10px;width: 100%;text-align:center;" id="removeArea" ...
- WordCount
一.Gitee地址:https://gitee.com/zjgss99/WordCount 二.项目分析: 对程序设计语言源文件统计字符数.单词数.行数,统计结果以指定格式输出到默认文件中,以及其他扩 ...