python numpy模块详细知识点


数组的属性
    t1.dnim数组的维度
    t1.shape 数组的形状
    t1.size 数组的元素总和
    t1.dtype 数组元素的类型
    t1.itemsize 每个元素的大小,以字节为单位

创建数组
    a = np.array([1,2,4,5,6])
    b = np.array(range(1,6))
    c = np.arange(12)

修改数组元素的数据类型
    t1 = t1.astype(np.float)或者t1 = t1.astype('float')

numpy中的小数
    t2 = np.array([random.random() for i in range(10)])
    t3 = np.round(t2,2) #修改浮点型小数位数

numpy读取数据
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
    frame:文件、字符串或产生器
    dtype:数据类型
    delimiter:分割字符串,默认是任何空格
    skiprows:跳过前x行一般跳过第一行表头
    usecils:读取指定的列,索引,元组类型
    unpack:如果True,转置。默认False

numpy中的转置
    t.transpose()
    t.T
    t.swapaxes(0,1)

#numpy索引、切片
    #取行
    print(t1[1])
    #取连续的多行
    print(t1[2:])
    #取不连续的多行
    print(t2[[2,4,7]])
    #取列
    print(t2[:,0])
    #取连续的多列
    print(t2[:,2:])
    #取不连续的多列
    print(t2[:,[0,2,3]])
    #取多行和多列
    print(t2[2:5,1:4])
    #取多个不相邻的点
    d = t2[[0,2,2],[0,1,3]]选出来的点(0,1),(2,1),(2,3)

#numpy数值的修改
    t[t<10]=0 布尔索引
    np.where(t<10,0,11) 三元运算符:t小于10的数用0代替,否则用11代替
    t.clip(10,18):裁剪,小于10的替换为10,大于18的替换为18

#数组的拼接
    np.vstack((t1,t2)) 竖直拼接
    np.hstack((t1,t2)) 水平拼接

#数组的行列交换
    t[[1,2],:] = t[[2,1],:]第二行和第三行交换
    t[:,[0,2]] = t[:,[2,0]]第一列和第三列交换

np.argmax(t,axis=0)获取最大值的位置
np.argmax(t,axis=0)获取最小值的位置
np.zeros((3,4))创建全为0的数组
np.ones((3,4))创建全为1的数组
np.eye(3)  创建一个对角线为1的正方形数组
ndarray.flatten()把一个数组展开为一维数组

#numpy生成随机数
    np.random.rand(d0...dn)创建d0-dn维度的均匀分布的随机数数组,浮点数,范围从0-1
    np.random.randn(d0....dn)创建d0-dn维度的标准正态分布随机数,浮点数,平均数0,标准差1
    np.random.randint(low,high,(shape))从给定上下限范围选取随机数整数,范围是low,high形状是shape
    np.random.uniform(low,high,(size))产生具有均匀分布的数组,low起始值,high结束值,size形状
    np.random.seed(s)随机种子

#numpy的copy和视图
    产生视图的两种方法:numpy的切片操作返回原数据的视图
                        调用ndarray的view()函数产生一个视图
    副本:调用ndarray的copy()函数产生一个副本

#numpy中的nan和inf
    nan(not a number)表示不是一个数字
    当我们读取本地的文件float的时候,如果有缺失,就会出现nan,当做了一个不合适的计算的时候(
    (比如(inf)减去无穷大
     1,两个nan是不相等的
     2,np.nan != np.nan
     3,利用以上的特性,判断数组中nan的个数np.count_nonzero(t!=t)
        np.count_nonzero(np.isnan(t))
     4,nan和任何值计算都为nan

    inf(-inf):infinity,inf表示正无穷,-inf表示负无穷
    比如一个数字除于0

#numpy中的常用统计函数
    求和t.sum(axis=None)
    均值t.mean(axis=None)
    中值np.median(t,axis=None)
    最大值:t.max(axis=None)
    最小值:t.min(axis=None)
    极值:np.ptp(t,axis=None)最大值和最小值的差
    标准差:t.std(axis=None)

你可能感兴趣的:(python numpy模块详细知识点)