数据分析基础-numpy

2018-07-11  本文已影响0人  一只小小小小訸

NumPy基础1


数组与标量的运算

arr=np.array([[1.,2,.3.],[4.,5.,6.]])

arr*arr

arr-arr

arr**arr


多维数组的切片与索引

a[::-1]  python翻转数组

a[3:7:2]  同slice(3,7,2)

b[0]=b[0,:,:]=b[0,...]

使用slice切片

布尔型索引

布尔型索引切片操作与一般索引操作相同

布尔型索引运算

返回副本

data[data<0]=0 即可归负数为0

花式索引


数组转置

arr.T

b.transpose()


改变数组的维度

b=np.arange(24).reshape(2,3,4)#返回拷贝,不修改原数组

b.resize((2,12))#对原数组进行修改

高维展开

b.ravel()

b.flatten()

转置


组合数组

np.hstack((a,b))水平组合

(二维)水平组合同列组合,垂直组合同行组合

深度组合


数组分割

深度分割(至少3维)(一种方法)


数组的属性

b.ndim  维度

b.size 元素个数

b.itemsize 

b.nbytes  

实数:b.real b.imag

b.flat 类型

b.flat(位置)  元素


数组类型转换

b.tolist()

b.tostring()  会有乱码

b.astype(int)  转为int  丢弃虚部

b.astype('complex')恢复虚部  转为实数


通用函数

切割函数,切割整数部分与小数部分

条件逻辑表达为数组运算

np.where(arr>0,2,-2)#True 设置为2,False 设置为-2

np.where(arr>0,2,arr)#False 不变

同:result=1*cond1+2*cond2+3*-(cond1|cond2)


数学与统计方法

均值函数mean

.

arr.any()  存在True即返回True

arr.all()  全部True才返回True

sort排序返回副本(np.sort(arr))与实际改变(arr.sort())

unique()唯一化,且返回排序后数组

in1d(arr,查找元素(可以是list))查找是否存在,返回布尔向量


矩阵运算

mat.dot(inv(mat))----得到单位矩阵

随机数产生

上一篇 下一篇

猜你喜欢

热点阅读