Numpy包简单介绍

详细介绍可以看Numpy帮助,也有很多资料,此文仅是一个简述性质的集成文章

1.简介

Numpy是Python的一个扩展包,语法和Matlab有很多相似之处。它支持高维数组和矩阵运算,也提供了许多数组和矩阵运算的函数。另外,它在数组和矩阵运算方面速度很快,效率很高。对数组的运算都可以算在每个元素上。如,A*2(A为3*3的矩阵),结果是A中的9个元素都乘2

1.1 索引与切片

数组索引一般用 [] 来实现,一维arratName[行],二维aName[行,列],三维[页,行,列],可以用冒号:代替某一维度,表示取该维度所有元素。如a[[1,2],[3,4]],a[:,1]为[2,4]

布尔型索引  布尔型数组的长度必须和被索引的轴长度一致

花式索引  利用整数数组进行索引

print a[[4, 3, 0, 6]] # 打印a[4]、a[3]、a[0]和a[6]。

切片如下: a为3*3*3矩阵  b = a[1, :,:]

1.2 复制与镜像

用.copy()方法复制数组,= 直接赋值。赋值只能产生镜像,仅是给变量增加一个名称;复制可以生成另一个变量,两个变量相互独立。

1.3 数组转置和轴对换

转置为 arrayName.T  

矩阵相乘 np.dot(array1,array2)

高维轴对换 .transpose  或  .swapaxes

1.4 按条件逻辑逻辑运算

如:a=np.arange(9).reshap(3,3)     print(a>5), print(a[a>5])。第一个输出是True和False的矩阵,第二个输出6,7,8,9

因此,可以按条件选择数组元素

np.where的使用   语法:np.where(条件,表达式1,表达式2)条件为真执行表达式1,条件为假执行表达式2.

1.5 排序

.sort()   0为按列排序,1为按行排序

2.常用函数介绍

构造函数

说明

array

将输入数据(列表、元组、数组等)转换为ndarray

arange

类似于range,返回一个ndarray

ones

根据指定大小和dtype创建一个全1数组

zeros

根据指定大小和dtype创建一个全0数组

empty

创建数组,只分配内存空间不填充任何值

eye,  identity

创建单位矩阵

运算函数(一元)

说明

abs,fabs

计算绝对值,计算复数的模。对于非复数,用fabs更快

sqrt

开方

sqare

平方  相当于a**2

exp

计算各元素的e^x

log, log10, log2, log(1+x)

自然对数,底数为10,底数为2和log(1+x)

ceil

向上取整

floor

向下取整

sign

计算各元素的正负号

rint

四舍五入到整数,保留dtype

modf

将整数部分和小数部分以两个独立数组返回

cos,sin,tan

三角函数

arccos,arcsin,arctan

反三角

运算函数(二元)

说明

add

将数组中对应的元素相加

subtract

从第一个数组中减去第二个数组中的元素

multiply

元素相乘

Divide, floor_divide

相除,或向下取整除法

power

Power(A,B) 计算A^B

Max  fmax

计算最大值,fmax忽略NaN

Min   fmin

计算最小值,fmin忽略NaN

mod

求模

copysign

将第二数组中的符号复制给第一个数组元素

greater,greater_equal

less,less_equal,equal,

not_equal

执行元素级的比较,最终产生布尔型数组

                                   

Logical_and, logical_or

Logical_xor

执行元素级的真值逻辑运算,产生布尔型数组

 

数学和统计方法

说明

sum

对数组中全部或某轴向的元素求和,0为按列,1为按行

mean

求平均

std, var

标准差和方差

min, max

最小值和最大值

argmin,argmax

最大值和最小值的索引

cumsum

所有元素累计和

cumprod

所有元素累计积

 

去重、集合运算函数

说明

unique(x)

计算X中的唯一元素,并返回有序结果

intersect1d(x,y)

计算x和y中的公共元素,并返回有序结果

union1d(x,y)

计算x和y的并集,返回有序结果

in1d(x,y)

得到一个描述x的元素是否包含于y的布尔型数组

setdiff1d(x,y)

集合的差,即元素在X中且不在Y中

setxor1d(x,y)

集合的异或,即存在一个数组中,另外一个数组中没有

常用的np.linalg函数

说明

diag

以一位数组的形式返回方阵的对角线

dot

矩阵乘法

trace

计算对角线元素的和

det

计算矩阵行列式

eig

计算方阵的特征值和特征向量

inv

计算方阵的逆

pinv

计算矩阵的Moore-Penrose伪逆

qr

计算QR分解

svd

计算奇异值分解

solve

解线性方程Ax=b,A为一个方阵

lstsq

计算Ax=b的最小二乘解

 

随机数生成 函数

说明

seed

确定随机数生成器的种子

permutation

返回一个序列的随机排列

shuffle

对一个序列随机乱序

rand

产生均匀分布的样本值

randint

从给定的上下限范围内随机选取整数

randn

产生正态分布(平均值为0,标准差为1)

binomial

产生二项分布的样本值

normal

产生正态(高斯)分布的样本值

beta

产生Beta分布的样本值

chisquare

产生卡方分布的样本值

gamma

产生Gramma分布的样本值

uniform

产生在[0,1]中均匀分布的样本值

转载于:https://www.cnblogs.com/laumians-notes/p/8557178.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: pandas和numpyPython中两个非常强大的数据处理库,它们在数据分析和科学计算领域经常被使用。 首先,pandas是建立在numpy之上的,它提供了一种快速、灵活且方便的方式来处理和分析数据。pandas的核心数据结构是DataFrame,它类似于二维表格,可以存储和处理具有不同类型数据的数据集。同时,pandas还提供了Series对象用于处理一维数据。 其次,pandas和numpy都具有强大的数据操作和处理能力。pandas提供了丰富的数据处理函数和方法,可以进行数据的过滤、排序、分组、合并等操作,还可以进行缺失数据的处理和数据的重塑。numpy则提供了高性能的数值计算功能,可以进行各种数学运算、矩阵运算、统计分析等。 另外,pandas和numpy都具有广泛的数据支持和数据格式转换功能。pandas可以读取和写入多种数据格式,如CSV、Excel、SQL、JSON等,方便数据的导入和导出。numpy可以处理多维数组数据,并支持将多种数据格式转换为numpy数组。 最后,pandas和numpy的打和精简是指它们的安装和使用的便捷性。pandas和numpy都是开源的库,可以通过pip命令进行安装,并且它们都有良好的文档和社区支持。同时,它们的接口设计和函数命名都十分一致和规范,使得用户可以轻松地进行库之间的切换和迁移。 总之,pandas和numpy作为Python中的数据处理库,提供了强大的数据操作和处理功能,并且具有方便的数据支持和格式转换能力。它们的打和精简使得用户可以轻松地安装和使用,并享受到它们带来的高效和便利。 ### 回答2: pandas和numpy是两个广泛应用于数据分析和科学计算的Python库。它们被称为"打精简"是因为它们可以提供大量且强大的功能,同时还能简化和优化数据分析和计算的过程。 首先,pandas是一个用于数据处理和分析的库。它提供了数据结构,比如Series和DataFrame,用于存储和操作数据。pandas的功能括数据的清洗、转换、重组、合并、分组等。通过pandas的高效数据结构,用户可以快速地对数据进行处理和分析。此外,pandas还提供了数据可视化的功能,可以方便地绘制图表和图形来展示数据。 而numpy是一个用于数值计算的库。它提供了多维数组对象和各种科学计算函数,可以进行向量化计算和快速数值操作。numpy的数组操作效率非常高,可以在大规模数据上进行高性能的计算。通过numpy,用户可以方便地进行矩阵运算、统计计算、线性代数操作等,并且可以和其他科学计算库无缝集成。 综合来说,pandas和numpy的打精简体现在两个方面。首先,它们提供了丰富的功能,可以满足各种数据分析和科学计算的需求,避免了开发者需要自己编写大量的代码来实现相同的功能。其次,它们提供了高效的数据结构和计算方法,能够在大规模数据上进行高效的操作和计算,提高了数据处理和分析的效率。 总之,pandas和numpy的打精简使得数据分析和科学计算变得更加简单、高效,为用户提供了强大的工具和函数来处理和分析各种数据。 ### 回答3: Pandas和NumPy是两个在Python数据分析领域非常重要的库,它们能够帮助我们高效地处理和分析数据。 Pandas是一个用于数据操作和分析的库,它提供了灵活和高效的数据结构,例如Series(一维数组)和DataFrame(二维数据表),以及各种数据操作和分析的功能。Pandas的设计目标是让数据处理变得简单快速,因此提供了很多方便的方法和函数,使得数据的处理和分析变得非常简洁。Pandas提供了大量的功能,括数据清洗、数据筛选、数据转换、数据分组等,使得数据处理流程更加精简高效。 NumPyPython科学计算领域最基础的库之一,它提供了一个强大的N维数组对象和很多用于数组操作的函数,可以进行高性能的数值计算。NumPy中的数组对象可以进行多维数据的存储和操作,而且NumPy中的很多函数底层都是使用C/C++编写的,因此执行速度非常快。NumPy提供了丰富的数学函数和数组运算,可以进行向量化计算,避免了使用循环的低效率操作。通过使用NumPy,我们可以将复杂的数据计算任务变得简化和高效。 总而言之,Pandas和NumPy两个库的出现使得数据分析和处理更加简单高效。Pandas提供了强大的数据结构和数据操作功能,使得数据的处理和分析变得非常简洁。NumPy提供了高性能的数组操作和数学函数,可以高效地进行数值计算。通过熟练使用这两个库,我们可以实现更加精简高效的数据分析和处理流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值