python之numpy

1. numpy中用于生成ndarray的常用方法

1.1 导入numpy模块

import numpy as np

1.2 生成特定ndarray数组的方法

  • np.ones(shape, dtype)
  • np.ones_like(a, dtype)
  • np.zeros(shape, dtype)
  • np.zeros_like(a, dtype)

1.3 利用现有序列或数组生成ndarray数组

  • np.array(object,dtype)
    • 深拷贝,创建新的数组
  • np.asarray(array,dtype)
    • 浅拷贝

1.4 生成固定范围的ndarray数组

  • np.linspace (start, stop, num, endpoint)
    • num:生成序列中元素个数,默认50
    • endpoint:是否包含stop值,默认为True
  • np.arange(start,stop,step,dtype)
    • step:步长,默认为1
  • np.logspace(start,stop,num)
    • 创建等比数列
    • num:生成的ndarray对象的元素个数

1.5 利用np.random模块生成ndarray数组

  • np.random.randn(d0,d1,...,dn)
    • 生成的ndarray元素值符合标准正态分布
    • 参数个数等于生成的ndarray的维度。
  • np.random.normal(loc,scale,size)
    • loc:正态分布的均值
    • scale:正态分布的标准差
    • size:生成的ndarray的dtype,是个元组或列表或int,缺省时输出一个值
  • np.random.standard_normal(size)
    • size:生成的ndarray的dtype,是个元组或列表
  • np.random.rand(d0,d1,...,dn)
    • 生成的ndarray对象的元素符合0-1均匀分布
    • 参数个数等于生成的ndarray的维度
  • np.random.uniform(low,high,size)
    • low:采样下界
    • high:采样上界
    • size:为int或元组或列表类型,缺省时输出1个值
  • np.random.randint(lowhigh=Nonesize=Nonedtype='l')
    • high不为空时,取[low,high)之间的随机整数
    • 若high为空时,取[0,low)之间的随机整数

1.6 利用已有的数组生成一个去重的一维ndarray数组对象

  • np.unique(array)
    • array:一个数组
    • 返回一个一维的去重的ndarray对象

2. ndarray类型:它是一个可变类型

2.1 ndarray对象的属性

属性名字 属性解释
ndarray.shape ndarray数组维度的元组
ndarray.ndim ndarray数组维数
ndarray.size ndarray数组中的元素数量
ndarray.itemsize 一个ndarray数组元素的长度(字节)
ndarray.dtype ndarray数组元素的类型

2.2 ndarray对象的常用实例方法

  • arr.reshape(shape)
    • 返回一个新的视图
  • arr.resize(new_shape)
    • 原地修改
    • 将数组本身形状改变
  • arr.T
    • 返回该arr的转置视图
  • arr.astype(type)
    • 修改元素类型,返回该arr的新的视图
  • arr.tostring()
    • 见名知意
  • arr.tobytes()
    • 转化为python字节

2.3 ndarray对象的索引

  •  arr[0,0:3]
    • 逗号分割维度
    • 每个维度都可以进行切片操作

2.4 ndarray对象的运算

# 每个元素进行比较
arr > 60

arr[arr>60]=1
  •  ndarray对象与数的运算
    • 数与数组的逐个元素进行运算
  • ndarray对象之间运算
    • 对应元素相互运算。
    • 满足广播机制
arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr + 1

3. numpy中对ndarray运算的方法

3.1 通用判断函数:返回值为布尔类型

  • np.all(关于数组的表达式)
  • np.any(关于数组的表达式)
np.all(score[0:2, :] > 60)

np.any(score[0:2, :] > 80)

3.2 np.where(布尔表达式,情况1,情况2)

  • 返回值是ndarray类型
np.where(temp > 60, 1, 0)

np.where(np.logical_and(temp > 60, temp < 90), 1, 0)

3.3 对ndarray的统计运算

  • np.min(arr,axis)
  • np.max(arr,axis)
  • np.median(arr,axis)
  • np.mean(arr,axis,dtype)
  • np.std(arr,axis,dtype)
  • np.var(arr,axis,dtype)
  • np.argmax(arr,axis)
  • np.argmin(arr,axis)
  • np.sqrt(arr)

3.4 对ndarray进行矩阵运算

  • np.matmul(arr1,arr2)
  • np.dot(arr1,arr2)
    • 也是矩阵相乘,还可以矩阵与标量运算

上一篇:【Python数据分析-1】:Pandas的常用操作-Pandas的主要数据结构Series(一维数据)和DataFrame(二维数据)


下一篇:Python根据相同列合并csv文件(不去除不相同数据行)