numpy使用

import numpy as np

  • np.version
    • 导入numpy并查看版本

np对象

  • np.array()

    • 括号内放入列表
  • nd.dtype

    • 数组中的元素的类型
  • 对象名.shape

    • 数据的形状
  • np.argwhere(workclass"Local-gov")

    • 找下标
  • np.ones(shape,dtype=None,order='C')

    • 创建元素为1的数组
    • 参数shape数据的形状传一个元组,元组的第0个元素代表第0维中的元素个数,依次类推
  • np.zeros(shape,dtype="float",order="C")

    • 创建元素为0的数组
    • 参数shape数据的形状传一个元组,元组的第0个元素代表第0维中的元素个数,依次类推
  • np.full(shape,fill_value,dtype=None)

    • 创建元素为fill_value的数组
    • 参数shape数据的形状传一个元组,元组的第0个元素代表第0维中的元素个数,依次类推
  • np.eye(N,M,k=0,dtype='float')

    • 对角线为1,其他为0的二维数组
  • np.linspace(start,stop,num=50)

    • 从开始到结束平均分成50份
  • np.arange([start,]stop,[step,]dtype=None) "[]"中是可选项

    • 开始到结束跳X
  • np.random.randint(low,high=None,size=None,dtype='I')

    • low下限 high上限 size形状(元组)
  • np.random.randn(d0,d1,...,dn)

    • 从第一维度到第n维度生成一个数组,数组中的数字符合标准正态分布
  • np.random.normal(loc=0.0,scale=1.0,size=None)

    • 非标准正态分布
  • np.random.random(size=None)

    • 生成0-1之间的浮点数

属性

  • 变量名.ndim
    • 维度
  • 变量名.size
    • 大小
  • 变量名.shape
    • 形状
  • 变量名.dtype
    • 元素类型
  • 变量名.itemsize
    • 每项大小
  • 变量名.data
    • 数据
  • 变量名.reshape()
    • resize()和reshape()都是对数组进行变形,resize()是在原来数组上直接变形,reshape()生成一个新的数组
    • 变形的时候,新数组的总元素个数要和原来的保持一致
  • 变量名.resize()
    • resize()和reshape()都是对数组进行变形,resize()是在原来数组上直接变形,reshape()生成一个新的数组
    • 变形的时候,新数组的总元素个数要和原来的保持一致

级联

  • np.concatenate([nd1,nd2],axis=1)
    • 参数一,参与级联的那些数组;参数二,级联的维度
  • np.hstack()
    • 把列数组改成一个行数组(把所有行上数组拼接成一个一行的数组)
  • np.vstack()
    • 把一个单行的数组拆成多行(每个行上只有一个数字)

切分

  • np.split()
    • axis=0切行,1切列
  • np.vsplit()
    • 纵向上切分 参数和横向类似
  • np.hsplit()
    • 代表在水平方向切分
    • 参数一,被切的数组 参数二,切分点(列表,在切分点前切分)
  • 变量名.copy()
    • 用copy()函数对数组对象创建副本

聚合操作

  • np.sum(nd,axis=0)
    • 0把行按照列标对应加起来
    • 1把列按照对应行标加起来
  • np.max(nd,axis=0)
    • 无axis,求所有和,结果为一个数组
    • 0求每个列里面最大值
    • 1求每一行里面的最大值
  • np.argmax(nd,axis=0)
    • 0在列上求最大值并返回最大值的行标
    • 1在每个行上求最小值返回列标
  • np.nansum(nd)
    • 以nan开头的聚合方法,可在聚合运算的直接把nan剔除
  • np.argsort(nd[:,3])
    • 排序并且返回排序以后的下标序列

矩阵操作

  • np.dot(nd1,nd2)
    • 矩阵积

排序

  • nd.sort()
    • 改变原来的数组
  • np.sort(nd)
    • 不会改变原来的数组,而是生成一个新的数组
  • 常用

  • np.meshgrid(xnums,ynums)
In [65]: xnums =np.arange(4)
In [66]: ynums =np.arange(5)
In [67]: xnums
Out[67]: array([0,1, 2, 3])
In [68]: ynums
Out[68]: array([0,1, 2, 3, 4])
In [69]: data_list= np.meshgrid(xnums,ynums)
In [70]: data_list
Out[70]:
[array([[0, 1, 2,3],
        [0, 1, 2, 3],
        [0, 1, 2, 3],
        [0, 1, 2, 3],
        [0, 1, 2, 3]]), array([[0, 0, 0, 0],
        [1, 1, 1, 1],
        [2, 2, 2, 2],
        [3, 3, 3, 3],
        [4, 4, 4, 4]])]
  • x.ravel()
x = np.array([[1, 2], [3, 4]])
>>> x.ravel()
array([1, 2, 3, 4])
  • np.c_和np.r_

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.c_[a,b]

print(np.r_[a,b])
print(c)
print(np.c_[c,a])

结果

[1 2 3 4 5 6]

[[1 4]
 [2 5]
 [3 6]]

[[1 4 1]
 [2 5 2]
 [3 6 3]]

你可能感兴趣的:(numpy使用)