PS:

这个好像是Python2.X版本的使用。

这个课件的numpy的介绍还是太少了,有点凌乱的感觉,要是后面还是要以《利用Python进行数据分析》做numpy和pandas课件笔记比较好。

要学会和掌握,通过实战,但是至少要懂得numpy的方式。

一、numpy(numeric Python)

1.定义:

高效方便的科学计算工具

2.优势:

2.1方便处理向量,矩阵

2.2相比于MATLAB免费

3.简单实用(版本查询)

import numpy as np

np.version.full_version

二、多维数组(homogeneous multidimensional)

1.一维数组

a=np.arange(20)

numpy.ndarray

a=a.reshape(4,5)#这个在《利用Python进行数据分析》算是numpy的高级用法

print(a)

a=a.reshape(2,2,5)#2个数组,2和5是2row,5col

print(a)

2.简单要素描绘

查看维度:

a.ndim

查看维度大小:

a.shape

查看全部的元素个数:

a.size

查看元素类型:

a.dtype

查看元素站位(bytes):

a.dtype

三、创建数组

1.高维数组转换嵌套列表:

raw=[1,2,3,4,5]

a=np.array(raw)

raw=[[0,1,2,3,4],[5,6,7,8,9]]

b=np.array(raw)

2.0数组:

d=(4,5)

np.zeros(d)

3.1数组

d=(4,5)

np.ones(d,dtype=int)

4.随机数组

生成[0,1)区间的随机数数组:

np.random.rand(5)

四、数组操作

1.加减乘除开根(这个的数据处理,必须是两个数组的结构要一致,对应的位置进行处理)

2.生成二维随机数组

  a=np.arange(20).reshape(4,5)

3.步长生成:arange(起始,终止,步长)

  a=np.arange(2,45,3).reshape(5,3)

4.生成一维数组

  np.linspace(0,2,9)

五、数组元素访问

访问:

a=np.array([[3.2,1.5],[2.5,4]])

print(a[0][1])

print(a[0,1])

修改:

a[0][1]=值

广播机制:

1.    b=a

  a修改

  b修改

2. b=a.copy()

  a修改

  b不修改

取矩阵中的指定列:

  a=np.arange(20).reshape(4,5)

  print(a[:,[1,3]])#先行后列,这里是指所有行,1,3是指第1列和第3列

筛选:

  a[;,2][a[:,0]>5]

查找指定值:

  loc=np.where(a==值)

  print(loc)

  print(a[loc[0][0],loc[1][0]])

六、数组操作

1.矩阵转置

a=np.random.rand(2,4)

a=np.transpose(a)

b=np.random.rand(2,4)

b=np.mat(b)

print(b.T)#转置

2.矩阵求逆

import numpy.linalg as nlg
a = np.random.rand(2,2)
a = np.mat(a)
print ("a:")
print(a)
ia = nlg.inv(a)
print( "inverse of a:")
print (ia)

print ("a * inv(a)")
print (a * ia)

3.求特征值和特征向量

a = np.random.rand(3,3)
eig_value, eig_vector = nlg.eig(a)
print( "eigen value:")
print( eig_value)
print( "eigen vector:")
print(eig_vector)

4.拼接两个向量

1.column_stack函数

a = np.array((1,2,3))
b = np.array((2,3,4))
print np.column_stack((a,b))

2.vstack,hstack函数

a = np.random.rand(2,2)
b = np.random.rand(2,2)
print( "a:")
print (a)
print ("b:")
print (b)
c = np.hstack([a,b])
d = np.vstack([a,b])
print( "horizontal stacking a and b:")
print( c)
print ("vertical stacking a and b:")
print( d)

七、缺失值

a = np.random.rand(2,2)
a[0, 1] = np.nan
print (np.isnan(a))
[[False True]
[False False]]

第三天:numpy库的更多相关文章

  1. numpy库的学习笔记

    一.ndarray 1.numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”. 2.ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相 ...

  2. Numpy库的学习(三)

    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...

  3. numpy库:常用基本

    numpy 本文主要列出numpy模块常用方法 大部分内容来源于网络,而后经过自己的一点思考和总结,如果有侵权,请联系我 我是一名初学者,有哪些地方有错误请留言,我会及时更改的 创建矩阵(采用ndar ...

  4. 初识NumPy库-基本操作

    ndarray(N-dimensional array)对象是整个numpy库的基础. 它有以下特点: 同质:数组元素的类型和大小相同 定量:数组元素数量是确定的 一.创建简单的数组: np.arra ...

  5. numpy库常用基本操作

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...

  6. Numpy库(个人学习笔记)

    一样,咱的计算机还是得先拥有Python,并且安装了Numpy库.有疑问的话可以看这里呦~~~~ 下面开讲: NumPy的主要对象是齐次多维数组.它是一个元素表(通常是数字),并且都是相同类型,由正整 ...

  7. Numpy库的学习(一)

    今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...

  8. NumPy库实现矩阵计算

    随着机器学习技术越来越向着整个社会进行推广,因此学好线性代数和Python当中的numpy库就相当重要了.我们应该知道numpy库的使用是sklearn库和opencv库的基础.主要用于矩阵的计算.当 ...

  9. numpy 库使用

    numpy 库简单使用 一.numpy库简介 Python标准库中提供了一个array类型,用于保存数组类型的数据,然而这个类型不支持多维数据,不适合数值运算.作为Python的第三方库numpy便有 ...

  10. 数据分析与科学计算可视化-----用于科学计算的numpy库与可视化工具matplotlib

    一.numpy库与matplotlib库的基本介绍 1.安装 (1)通过pip安装: >> pip install matplotlib 安装完成 安装matplotlib的方式和nump ...

随机推荐

  1. Maven Webapp项目web.xml版本记录

    web.xml 2.0版本 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...

  2. Java锁与CAS

    一.加锁与无锁CAS 在谈论无锁概念时,总会关联起乐观派与悲观派,对于乐观派而言,他们认为事情总会往好的方向发展,总是认为坏的情况发生的概率特别小,可以无所顾忌地做事,但对于悲观派而已,他们总会认为发 ...

  3. 算法(第四版)C# 习题题解——1.4

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 ...

  4. [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype

    程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...

  5. 基于OpenCV做“三维重建”(3)--相机参数矩阵

    通过前面的相机标定,我们能够获得一些参数模型.但是这些相机的参数矩阵到底是什么意思?怎样才能够判断是否正确?误差都会来自哪里?这里就必须要通过具体实验来加深认识.采集带相机参数的图片具有一定难度,幸好 ...

  6. centos7 harbor 单机搭建

    环境说明:centos 7.4 下面使用的域名是自己编造 可自行设置使用 域名在centos7.4 系统做解析 在windows vhost文件也做解析 分享压缩包  因github下载过慢  所以我 ...

  7. wordpress安装教程

    最近安装了wordpress来搭建自己的网站,过程有些艰辛,以防以后转移服务器再次遇到这个难题,在此记下自己的这次安装过程以及一些问题,同时也供遇到相同问题的初次接触者做参考. 另外说明一下我用的操作 ...

  8. MongoDB --- 01. 安装, 第三方客户端

    一.安装 1.选择默认安装 ①完成后进入目录查看 "C:\Program Files\MongoDB\Server\3.4\bin" ② 配置环境变量 ③ 在 c盘创建目录(数据库 ...

  9. Java基础学习-计算机存储单元和数据类型概述

    变量是内存中的小容器,用来存储数据.那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写字母b表示.而计算机最小的存 ...

  10. 最短Hamilton路径【状压DP】

    给定一张 nn 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径. Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次. 输入 ...