数据分析基础-numpy

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))----得到单位矩阵

随机数产生

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容