Numpy 知识点总结

# 基础包NumPy

import numpy as np

ndarry:一种多维数组对象

data = np.random.randn(2,3)                生成2行3列的随机数组       

        shape是两行三列 dtype是float64

np.array(对象)                可以把list或者多个list 或者字典转换成数组

np.zeros(10)        np.zeros((2,3))

zeros:全是0        ones:全是1        empty:全是垃圾值

np.arrange(15)        生成0-15(前闭后开)的数组

 数组 = 数组1.astype(np.float64)        # 可以转换数组类型       

        里面也可以填其他数组的类型:例如...(数组2.dtype)

数组的运算

        任何运算都会运用到具体的元素,不同大小数组之间的运算叫做广播

        不同数组之间的比较会生成布尔值数组

索引和切片

        一维数组:array[索引]

        二维数组:arr2d[行索引][列索引]

        切片索引:array[ start : stop ]                arr2d[  start:stop  ,  start:stop  ]        #注意中间的逗号

                注意:对切片的赋值也会扩散到整个选区

        布尔型索引:假设布尔数组为bool_arr

                利用布尔数组去获取其他数组array的内容        array[bool_arr]

                        赋值的话直接在后面写等于多少就行了

        花式索引:        array[[索引1,索引2,索引3...]]

                                arr2d[[索引1,索引2...],[索引1,索引2...]]

        数组转置和轴对换:

                转置:array.T        或者        np.transpose(array)               

                        或者array.transpose()        # 括号内可以写轴名..表示按照轴调换位置,默认行列转换

                        或者array.swapaxes(轴1,轴2)                # 对指定的轴转换

2.通用函数:快速的元素级数组函数

        平方根:       np.sqrt(array)        

        指数:        np.exp(array)

        找两个数组的最大值:        np.maximum(array1,array2)

        modf可以返回数组的小数和整数部分:

                decimal_part,integer_part= np.modf(array)

                

                

 3.利用数组进行数据处理

        1.书上有个np.meshgrid的例子,没太懂

        2.将条件逻辑表述为数组运算

                numpy.where函数是三元表达式x if condition else y的矢量化版本

               使用办法:result = np.where(cond, xarr, yarr)         cond是布尔数组

                        意思:如果cond是True,输出xarr,否则输出yarr

                        xarr和yarr不一定是数组,可以是标量值

                        例子:np.where(array>0,array,-2)        把array大于0的保持不变,小于0的替换成-2

                3.数学和统计方法                (用到了轴)

                        array.mean()        相当于  np.mean(array)

                        array.sum()

                                上面两个函数可以接受一个axis选项参数

                        arr.consum()        累加函数        也可以限制axis=1....

用于布尔型数组的方法

        sum常用来计算bool型数组的True的计数

        any测试是否存在一个或多个True,all则是测试是否都是True

        对于非布尔型数组,所有非0元素都会被当做True

排序

        array.sort(        )                可以设置axis=        或省略axis=

唯一化以及其他的集合逻辑

        np.unique(array)        找出数组中的唯一值病返回已排序的结果

                相当于sorted(set(names))

        np.in1d(arrat,[数组])        测试一个数组中的值在另外一个数组中的成员资格,返回布尔数组

用于数组的文件输入输出

        np.save('文件名(不用包含尾缀)',array)        如果没有尾缀,则会自动加上扩展名.npy

        np.load('文件名')

        np.savez('文件名',a=array1,b=array2)

                读取时,arr = np.load('文件名')

                        print(arr['b'])                array2

线性代数

        点乘        x.dot(y)  相当于np.dot(x,y)

伪随机数生成

        numpy.random模块

        

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值