Python numpy 中常用的数据运算
每个数组里面都有一个shape和一个dtype
dtype表示数组数据类型
用于读写硬盘上基于数组的数据集的工具
线性代数运算、傅里叶变换,以及随机数生成的功能
用于将C、C++、Fortran代码集成到Python的工具
作为在算法之间传递数据的容器
查看Numpy的版本
python -c "import numpy; print numpy.version.version"
1
方法
数组创建函数列表:
说明
创建指定长度或形状全为0的数组。
创建指定长度或者形状全为1的数组。
创建一个没有任何具体值的数组。
是基于Python原版range函数改进的数组版本。
将输入的数据(可以是列表、元组、数组、其他的序列数组)转换为Numpy的ndarray。要是不指定dtype,那么就由该方法推断出dtype。默认直接复制数据。
将输入的数据转换为Numpy的ndarray。如果输入本身是ndarray就不进行复制操作了。
创建一个N×N的单位矩阵,主对角线为1,其余为0。
创建一个N×N的单位矩阵,主对角线为1,其余为0。
说明
计算整数、浮点数或者是复数的绝对值。
计算整数、浮点数的绝对值(比abs快)。
计算各个元素的平方根,相当于arr**0.5。
计算各个元素的平方,相当于arr**2。
计算各个元素的指数e*。
自然对数。
底数为10的对数。
底数为2的对数。
底数为(1+x)的对数。
计算各个元素的正负号:1(正数)、-1(负数)、0(零)。
计算各元素的ceiling值,即大于等于该值的最小正数。
计算个元素的floor值,即小于等于该值的最大正数。
将个元素四舍五入到最接近的整数,保留dtype。
将数组的小数和整数部分以两个独立数组的形式返回。
返回一个表示“哪些值是NaN(这不是一个数字)”的布尔值类型。
返回一个表示“哪些元素是有穷的(非inf,非NaN)”的布尔值数组。
返回一个表示“哪些元素是无穷的”的布尔值数组。
三角函数。
双曲型三角函数。
反三角函数。
双曲型反三角函数。
计算各个元素not x的真值,相当于-arr。
说明
将数组中对应的元素相加。
从第一个数组中减去第二个数组中元素。
数组元素相乘。
除法。
向下取整除法。
对第一个数组中的元素A,根据第二个数组中的相应元素B,计算A^B的值。
取最大值。
除NaN外的最大值。
取最小值。
除NaN外的最小值。
取余数。
将第二个数组中的值的符号复制给第一个数组中的值。
大于。
大于等于。
小于。
小于等于。
等于。
不等于。
逻辑与(&)。
逻辑或(|)。
逻辑异或(^)。
说明
对数组中全部或者是某个轴向的所有元素进行求和。零长度的数组的sum值为0。
算术平均值。零长度的数组的mean值为NaN。
标准差。自由度可调整(默认为n)。
方差。自由度可调整(默认为n)。
返回数组中的最小元素。
返回数组中的最大元素。
返回数组中最小元素的索引。
返回数组中最大元素的索引。
返回数组的中位值。注意,该方法不会对数组进行排序。数组个数为奇数个返回最中间一个数字,偶数个返回最中间两位的均值。
将多维数组展平多一维数组。
协方差。
说明
数组中是否存在一个或者多个True。如果存在就返回True,反之,返回False。
数组中是否全部为True。如果所有数组中所有元素都是True就返回True,反之,返回False。
说明
有序返回x中所有的唯一元素。
有序返回x和y中的公共元素。
有序返回x和y的并集。
返回一个表示“x的元素是否包含于y”的布尔型数组。存在用True表示,不存在用False表示。
返回存在于x但是不存在于y的集合差。
返回存在于一个数组中但是不同时存在于两个数组中的元素的对称差集合。
说明
searchsorted函数为指定的插入值返回一个在有序数组中的索引位置,从这个位置插入可以保持数组的有序性。
从数组中抽取元素。
所有元素的累计和。
所有元素的累计积。
说明
创建一个矩阵。注意:mat函数创建矩阵时,若输入已为matrix或ndarray对象,则不会为它们创建副本。因此,调用mat函数和调用matrix(data, copy=False)等价。
转置。mat.T
逆矩阵。mat.I
分块矩阵,可以用小的矩阵来创建大的矩阵。矩阵A,矩阵B,矩阵C,C=bmat("A B;B A")
线性代数是数学的一个重要分支。numpy.linalg模块包含线性代数的函数。使用这个模块,我们可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。
说明
矩阵乘法。用法:x.dot(y)或者是np.dot(x, y)
以一维数组的形式返回方阵中的对角线(或者非对角线)元素,或将一维数组转换为方针(非对角线元素为0)。
计算对角线元素的和。
计算矩阵行列式。
计算矩阵的本征值和本征向量。
计算矩阵的逆,即求逆矩阵。
计算矩阵的Moore-Penrose伪逆。
计算QR分解。
计算奇异值分解(SVD)。
解线性方程组Ax=b,其中A是一个方阵。
计算Ax=b的最小二乘积。
这些是numpy.random的函数:
说明
确定随机数生成器的种子。
返回一个序列的随机排列或返回一个随机排列的范围。
对一个序列就地随机排序。
产生均匀分布的样本值。
从给定的上下限范围内随机选取整数。
产生正态分布(平均值为0,标准差为1)的样本值,类似于MATLAB接口。
产生二项分布的样本值。
产生正态(高斯)分布的样本值。
产生Beta分布的样本值。
产生卡方分布的样本值。
产生Gamma分布的样本值。
产生[01)中均匀分布的样本值。
说明
函数返回排序后的数组。
函数根据键值的字典序进行排序。
函数返回输入数组排序后的下标。
说明
函数可对数组进行原地排序。
函数沿着第一个轴排序。
函数对复数按照先实部后虚部的顺序进行排序。
说明
函数计算所谓的终值(future value),即基于一些假设给出的某个金融资产在未来某一时间点的价值。
函数计算现值(present value),即金融资产当前的价值。
函数返回的是净现值(net present value),即按折现率计算的净现金流之和。
函数根据本金和利率计算每期需支付的金额。
函数计算内部收益率(internal rate of return)。 内部收益率是是净现值为0时的有效利率,不考虑通胀因素。
函数计算修正后内部收益率(modified internal rate of return),是内部收益率的改进版本。
函数计算定期付款的期数。
Pandas(Python Data Analysis Library)是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的(让以Numpy为中心的应用变得更加简单)。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
说明
一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。如果传入的数据找不到对应的列,就将结果置为NaN。
以时间为索引的Series。
二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。 如果传入的列在数据中找不到,就会产生NA值。如果赋值是一个Series,就会精确匹配DataFrame中的索引,并且所有的空位都会被填充NaN。
三维的数组,可以理解为DataFrame的容器。
Series
Series的字符串的表现形式为:索引在左边,值在右边。
Series的最重要的一个功能就是它在算术运算中会自动对齐不同索引的数据。
Series的索引切片和原Python的切片是不一样的,这里的test['a':'c']中ac都是包含的,而原Python中的切片中c是不包含的。
DataFrame
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等等)。
DataFrame可以既有行索引又有列索引,他可以被看做是由Series组成的字典(共用同一个索引)。跟其他类似的数据结构相比(如R的data.frame),DataFrame中面向行和面向列的操作基本上是平衡的。其实,DataFrame中的数据是以一个或者多个二维块存放的(而不是列表、字典或者是别的一维数据结构)。
注意:虽然DataFrame是以二维结构保存数据的,但你仍然可以轻松地将其表示为更高维度的数据(层次化索引的表格型结构,这是Pandas中许多高级数据处理功能的关键要素)。
我们可以通过类似字典标记的方式或者属性的方式,获取DataFrame中的一个Series,比如frame['name']这种形式。
注意:返回的Series拥有原DataFrame相同的索引,且其name属性也已经被相应的设置好了。行也可以通过位置或者名称的方式进行获取,比如用索引字段ix。
注意:通过索引方式返回的列只是相应数据的视图而已,并不是副本。因此,对返回的Series所做的任何修改全部都会反映到源DataFrame上。通过Series的copy方法即可显式地复制列。
Index的方法和属性
说明
连接另一个Index对象,产生一个新的Index。
计算差集,并得到一个Index。
计算交集。
计算并集。
删除索引i处的元素,并得到新的Index。
删除传入的值,并得到新的Index。
将元素插入到索引i处,并得到新的Index。
当各个元素大于等于前一个元素的时候,返回True。
当Index唯一的时候,返回True。
返回在数组中Index唯一的元素构成的数组。
reindex函数的参数列表
说明
用作索引的新序列。既可以是Index实例,也可以是其他序列型的Python数据结构。Index会被完全使用,就像没有任何复制一样。
插值(填充)方式,具体参数见下面表格。
在重新索引的过程中,需要引入缺失值是使用的替代值。
前向或者后向填充时的最大填充量。
在MultiIndex的指定级别上匹配简单索引,否则选取其子集。
无论如何复制,默认为True;如果是False,则新旧相等的话就不复制了。
说明
前向填充值。
前向搬运值。
后向填充值。
后向搬运值。
说明
加法
减法
除法
乘法
说明
约简的轴。DataFrame的行用0表示,列用1表示。
排除缺失值,默认值为True。
如果轴是层次化索引的(即MultiIndex),则根据level分组约简。
说明
非NA值的数量。
针对Series或者各个DataFrame列计算汇总统计。
最小值。
最大值。
计算能够获取到最小值的索引位置。(整数)
计算能够获取到最大值的索引位置。(整数)
计算能够获取到最小值的索引值。
计算能够获取到最大值的索引值。
计算样本的分位数(0到1)。
值的总和。布尔值会被强制转换为1(True)和0(False)。
值的平均值。
值的算术中位数。(50%中位数)
根据平均值计算平均绝对离差。 |
样本值的方差。
样本值的标准差。
样本值的偏度(三阶矩)。
样本值的峰度(四阶矩)。
样本值的累积和。布尔值会被强制转换为1(True)和0(False)。
样本值的累计最大值。 布尔值会被强制转换为1(True)和0(False)。
样本值的累计最小值。布尔值会被强制转换为1(True)和0(False)。
样本值的累计积。布尔值会被强制转换为1(True)和0(False)。
计算一阶差分(对时间序列很有用)。
计算百分数变化。
Python numpy 中常用的数据运算的更多相关文章
- 在python&numpy中切片(slice)
在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...
- Python 数据分析中常用的可视化工具
Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...
- 【转载】Python编程中常用的12种基础知识总结
Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- Python编程中常用的12种基础知识总结
原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...
- [转]EntityFramework中常用的数据修改方式
本文转自:http://blog.csdn.net/itmaxin/article/details/47662151 上一篇文章里提到了 EntityFramework中常用的数据删除方式,那么修改对 ...
- 第8.34节 《Python类中常用的特殊变量和方法》总结
本章介绍了Python类中常用的特殊变量和方法,这些特殊变量和方法都有特殊的用途,是Python强大功能的基石之一,许多功能非常有Python特色.由于Python中一切皆对象,理解这些特殊变量和方法 ...
- 第8章 Python类中常用的特殊变量和方法目录
第8章 Python类中常用的特殊变量和方法 第8.1节 Python类的构造方法__init__深入剖析:语法释义 第8.2节 Python类的__init__方法深入剖析:构造方法案例详解 第8. ...
- Python Numpy中数据的常用的保存与读取方法
在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...
- Python numpy中矩阵的用法总结
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...
随机推荐
- SQL Server行转列、不确定列的行转列
本文使用的方法: 1.用Case When 2.PIVOT函数 首先,模拟一张表: -- 创建模拟数据 CREATE TABLE #TempSubjectResult ( StudentName NV ...
- Linux命令——parted
参考:8 Linux ‘Parted’ Commands to Create, Resize and Rescue Disk Partitions 简介 parted是磁盘分区操作工具,支持多种磁盘分 ...
- 【Flask】 python学习第一章 - 5.0 模板
jinjia2 模板 python实现 flask 内置语言 参照Djago实现 设置模板文件夹 设置模板语言 jinja2 demo6_template.html ----> 从代码渲染 ...
- MySQL/MariaDB数据库的复制监控和维护
MySQL/MariaDB数据库的复制监控和维护 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.清理日志 1>.删除指定日志文件名称之前的日志(也可用基于时间) M ...
- PAT甲级1008水题飘过
题目分析:上去下来到达的时间和数量 #include<iostream> using namespace std; ]; int main(){ int n; while(scanf(&q ...
- python+正则+多进程爬取糗事百科图片
话不多说,直接上代码: # 需要的库 import requests import re import os from multiprocessing import Pool # 请求头 header ...
- C# 保存文件到数据库
html <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileUploa ...
- Python常用标准库函数
math库: >>> import math >>> dir(math) ['__doc__', '__loader__', '__name__', '__pack ...
- postgres高可用学习篇三:haproxy+keepalived实现postgres负载均衡
环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2 ...
- 清除DNS缓存和刷新DHCP列表
ipconfig /release 只是释放IP地址,然后还需要ipconfig /renew在重新获取一下 如何清除DNS缓存?开始-运行,如下图所示: 在谈出的对话框中输入“cmd”,如下图所示: ...