我爱编程

一、Numpy基础

2016-05-11  本文已影响0人  宁静不烦

Numpy 基础

  1. 操作对象:
    Vectors:一组相同的对象,方便计算。
    Metrics:二维矩阵
    Arrays:多维数组。
    Vectorized computing 向量化计算,批量对数据进行处理。
  2. 实际语法
    import numpy as np #导入 numpy 包
    lst = [10, 20, 30, 40] #可以创建列表 []
    arr = np.array([10, 20, 30, 40]) #也可以传入列表来创建一个数组
    lst[1] #用下标来访问列表内容。
    arr[0] # array 是一维数组,也用类似列表方式访问。
    arr[-1] #访问最后一个参数
    arr[2:] #从下标2开始的所有对象
    lst[-1] = 'a string inside a list' #List 对象可以异质, Array 必须同质
    arr.dtype # dtype 可以了解数据类型
    arr[-1] = 1.234 #数据将会被强制转型为 1
    np.zeros(5, dtype=float) #可以创建初始值为0,1的数组
    np.zeros(3, dtype=complex) #还可以创建复数
    np.ones(5,dtype = float)
    a = np.empty(4) #可以创建空数组,并用自己需要进行赋值。
    a.fill(3.7)
    np.arange(5) #创建递增序列
    np.linespace(0,10,6) #创建0,2,4,6,8,10 的等差数列
    np.logspace(1,3,4) #创建10的1次方,到10的3次方之间的对数 数列
    np.random.randn(5) #创建随机值数组
    np.random.normal(10,2,5)#创建符合正态分布的均值10,标准差2的数列
    norm10[norm10 > 9] = 0 #可以按条件选取对象,只要大于9的都赋为0
    lst2 = [[1,2],[3,4]] #创建二维数组
    lst2[0,1] #直接用下标访问
    arr = np.random.normal(10,3,(2,4))
    arr.reshape(4.2) #改变数组形状
    arr1 = arr #数组复制是指针,修改内容其它数组也会变化
    arr2[:,2] #数组可以切片访问, 代表所有行,下标2的第3列
    arr2[1] #指第2行
    arr2.min()#最小值
    arr2.max()#最大值
    arr2.sum()#求和
    arr2.prod()#求积
    arr2.mean()#平均值
    arr2.std()#标准差
    arr2.sum(axis = 1) #不考虑第2个维度求和
    arr.T # 转置
    arr1 + arr2 #每个位置分别相加
    1.5 * arr1 #低维会向高维补足,每个位置都 1.5
    Paste_Image.png
    np.dot(V1,V2) # dot 代表矩阵乘法
    np.savetxt('test.out', arr, fmt='%.2e', header="My dataset") #保存到磁盘
    arr2 = np.loadtxt('test.out') #读取数据

补充阅读材料

  1. numpy.org
  2. 利用python 进行数据分析 第4章
    3 Numerical Python 第2章
  3. Scipy Lectures 第3章
  4. 欧姆社学习漫画:漫画线性代数

作业

使用循环和向量化两种不同的方法来计算100以内质数之和。
模拟一个醉汉在二维空间上的随机漫步。
使用梯形法计算一个二次函数的数值积分。

上一篇 下一篇

猜你喜欢

热点阅读