Jupyter&numpy

作者: 仙灵儿 | 来源:发表于2018-08-07 00:14 被阅读29次

Y 代码模式 M是markdown模式

几个基本操作:

  • 双击D:删除当前cell
  • 单击M:转为markdown文档
  • 单击Y:转为代码
  • markdown文档下运行变为预览模式
ispic_a.jpg
%time get_fib(12000)  # %time可以用来计时

用下面命令计算statement的平均运行时间:

%timeit statement

timeit会多次运行statement,最后得到一个更为精准的预期运行时间
%timeit get_fib(12000)

%time 一般用于耗时长的代码段
%timeit 一般用于耗时短的代码段
%run "./myscript.py" # %run 后面跟相对路径 就可以加载 外部的 .py文件(注意是.py文件 不是.ipynb文件)
# 绝对路径 和 相对路径 都 可以
# %run "C:\Users\jf\0\00\myscript.py"
%run "C:\Users\jf\Desktop\test.py"

快速查看当前会话的所有变量与函数名称

%who #可以查看当前会话中的变量和函数
%whos # 展示的信息更加详细
%who_ls

4. 执行Linux指令

Linux指令:

$ echo "hello world" # echo is like Python's print function

hello world

$ pwd # pwd = print working directory
      

/Users/jfeng # this is the "path" that we're sitting in

$ ls # ls = list working directory contents

notebooks projects

$ mkdir mm

/home/jake/projects

$ touch txt

!touch /home/nanfengpo/Desktop/xx/hello.txt

在Linux指令之前加上 !,即可在ipython当中执行Linux指令。

注意会将标准输出以字符串形式返回

四、notebook的快捷键

1、命令模式

• Enter: 转入编辑模式(或者鼠标双击)

• Ctrl + Enter: 运行本单元,选中本单元

• Alt + Enter: 运行本单元,在下面插入一单元

• Shift + Enter : 运行本单元,选中下个单元

五.numpy

导入numpy库

查看numpy版本

import numpy as np
np.__version__

使用np.random.randint创建ndarray 演示 ndarray 输出效果 以及 和 list 的区别

机器学习部分的函数太多,参数太复杂,这里建议把关键字参数都加上,可读性好

# 参数: low下界 high上界 size形状
# 功能: 按照指定的形状 产生一个多维数组 里面的值用随机数填充(随机数的范围是从low到high)
np.random.randint(1,5,5)
# 机器学习的库 函数很杂参数很多 建议大家把参数名都写出来 可读性好
np.random.randint(low=1,high=10,size=10)
nd1 = np.random.randint(low=1,high=10,size=3)
nd1

一、创建ndarray

1. 使用np.array()创建多维数组

参数为列表: np.array([1,2,3])

注意:

  • numpy默认ndarray的所有元素的类型是相同的
  • 如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>int
# 传入列表即可创建一个多维数组
np.array([1,2,3,4,5])
# array()方法创建的多维数组 内部内容的数据类型是相同的
np.array([1,2,3])
np.array([1,2.0,3])  # 如有有浮点数就都变成浮点数了
np.array([1,2.0,'3'])  # 如果有字符串就都变成字符串了
# 优先级 str > float > int

2. 使用np的常用函数(routines)创建

包含以下常见创建方法:

1) np.ones(shape, dtype=None)-np.ones(shape,-dtype=None))

功能:按照指定形状创建多维数组,并用1填充

参数:

shape 用于指定创建的多维数组的形状 可以传入2 或者 (2,3)
dtype 数据的类型 np.int8 np.float64

返回值:返沪创建好的多维数组数组

np.ones(shape=2)  # 创建一个 一维数组 里面有2个元素
np.ones(shape=5)
# 里面还可以传入一系列整数
np.ones(shape=(2,3))  # 这是一个 二维数组 里面装了2个数组 里面装了3个元素
np.ones(shape=(2,3,2))  # 这是一个 三维数组 里面装了2个数组 里面装了3个数组 里面装了2个元素
# 有几个整数就是几维数组
np.ones(shape=(5,2,3))  # 这是一个三维数组 里面装了5个元素 里面装了2个元素 里面装了3个元素
np.ones(shape=(3,3))  # 里面的内容用1来填充
np.ones(shape=(3,3),dtype=np.int)  # dtype用来设置数据类型

2) np.zeros(shape, dtype=float)-np.zeros(shape,-dtype=float))

功能类似np.zeros只不过不是用1填充 而是用0填充

np.zeros(shape=(3,1,1))  # 这是一个三维数组 里面装着3个元素 里面装着1个元素 里面装着1个元素```

3) np.full(shape, fill_value, dtype=None)
# shape用来指定多维数组的形状 fill_value用来指定用什么值来填充
np.full(shape=(2,3),fill_value=5) 
np.full(shape=(2,3),fill_value=2) 

#### 4) np.eye(N, dtype=float)[](http://localhost:8888/notebooks/00/day1/c01-numpy.ipynb#4)-np.eye(N,-dtype=float))

功能:创建一个N行N列的方阵(方阵就是行和列的数量相等的矩阵)

参数:N 指定矩阵中有多少行(也是多少列)

返回值: 主对角线上是1,其他地方是0的方阵(单位矩阵)

主对角线为1其他的位置为0(左上角的右下角的对角线叫做主对角线)
np.eye(3)
# 左上角到右下角的对角线 叫 主对角线
# 创建一个 主对角线上是1 其他地方是0 的方阵(单位矩阵)
np.eye(5)

#### 5.1) np.linspace(start, stop, num=50, dtype=None)[](http://localhost:8888/notebooks/00/day1/c01-numpy.ipynb#5.1)-np.linspace(start,-stop,-num=50,-dtype=None))

功能:把start到stop的这个范围的数,等分成num份儿,填入数组

#### 5.2) np.logspace(start, stop, num=50, dtype=None)[](http://localhost:8888/notebooks/00/day1/c01-numpy.ipynb#5.2)-np.logspace(start,-stop,-num=50,-dtype=None))

功能:把start到stop的这个范围的数,等分成num份儿,获得的值作为10的指数,求出来的值,填入数组```

参数: start开始 stop结束 num指的是从start到stop一共取几个

np.linspace(1,5,3)
np.linspace(1,5,5)
np.linspace(1,5,2)
np.linspace(1,5,6)  
np.logspace(1,3,3)  # 1到3取3个 1,2,3 作为10的指数 获取的数字
np.logspace(1,5,5)

6) np.arange([start, ]stop, [step, ]dtype=None)-np.arange([start,-]stop,-[step,-]dtype=None))

从start,到end,每隔step取一个值,放入一个数组

# start开始 stop结束 step步长值(每隔多少取一个值)
np.arange(1,10,2)
np.arange(1,10,1)  # [start,stop) 这个区间 每隔 step 取一个值 形成一个数组

7) np.random.randint(low, high=None, size=None, dtype='l')-np.random.randint(low,-high=None,-size=None,-dtype='l'))

从low到high的范围随机取整数,填充多维数组 size用于指定数组的形状 如 2 (2,3)

np.random.randint(1,10,size=(2,3))
np.random.randint(1,5,size=(5,5))  # [low,high) 这个区间 按照size指定的形状取值 生成一个多维数组

8) np.random.randn(d0, d1, ..., dn)-np.random.randn(d0,-d1,-...,-dn))

传入几个参数,就创建几维数组

产生以0为中心 方差为1 的 标准正太分布 的随机数 填充数组

如 np.random.randn(2,3,3) 产生一个三维数组 数组中有两个数组 两个数组中分别有三个数组 三个数组中每个都有三个元素

# 有多少维就传入多少参数 每一个参数用来指定其维度中元素的个数
np.random.randn(3)
np.random.randn(3,2,3)

9) np.random.normal(loc=0.0, scale=1.0, size=None)-np.random.normal(loc=0.0,-scale=1.0,-size=None))

np.random.randn是标准正态分布(以0为中心,方差是1) normal是可以指定中心和方差的一般正态分布

loc 正态分别的中心

scale 正态分布的变化范围

size 数组的形状 如 2 (2,3)

# loc是分布中心 scale是方差
# np.random.normal(loc=0,scale=1,size=(4,4))
# np.random.normal(loc=175,scale=10,size=5)
np.random.normal(loc=175,scale=10,size=(5,10))
np.random.normal(loc=175,scale=10,size=(10,4))

10) np.random.random(size=None)-np.random.random(size=None))

size指定多维数组的形状 如 2 或者 (2,3)

函数随机生成0到1的随机数 [0,1) 填充数组

np.random.random(size=(2,3,2))
np.random.random(size=(3,4))

二、ndarray的属性

4个必记参数:

ndim:维度

shape:形状(各维度的长度)

size:总长度

dtype:元素类型

nd1 = np.random.random(size=(3,4))  # 这是一个二维数组 数组里有3个元素 里面有4个元素
nd1

nd1.ndim  # 查看数组维度的属性
nd1.shape  # 获取数组形状
nd1.size  # 获取多维数组中元素的总个数
nd1.dtype
# matplotlib是用来绘图的库
import matplotlib.pyplot as plt
# 传入 图片地址 就可以把图片的数据加载进来 变成一个多维数组
nd2 = plt.imread('./data/jin.png')
nd2
nd2.ndim
nd2.shape
# imshow() 可以根据传入的多维数组中的数据 去渲染 图片
plt.imshow(nd2)

练习:使用随机数生成一张图片并用pyplot绘制

# (273, 411, 3)
nd3 = np.random.random(size=(273, 411, 3))  # 三维数组
nd3
lt.imshow(nd3)

相关文章

  • Jupyter&numpy

    Y 代码模式 M是markdown模式 浏览器地址为http://localhost:8888/ 通过contro...

  • 科学计算库numpy的执行示例

    numpy1 numpy2 numpy3 numpy4

  • numpy中的常量

    Constants 正无穷 numpy.inf numpy.Inf numpy.Infinity numpy.in...

  • NumPy学习资料

    Numpy 中文资料 NumPy 中文文档 NumPy 中文用户指南 NumPy 中文参考手册

  • Numpy基础

    安装Numpy Numpy Numpy属性 ndim:纬度 shape:行数和列数 size:元素个数 Numpy...

  • Numpy和Pandas基本操作速查

    """ numpy 基本操作 """'''安装 Numpy 的方法:pip install numpy''''''...

  • numpy 基础

    numpy 基础 导入numpy 版本 np常用方法 numpy.array 的基本属性 numpy.array ...

  • Numpy入门

    1、熟悉 numpy 的基础属性 2、numpy 创建 array 3、numpy的基础运算 4、numpy索引 ...

  • 学习:biopython的安装

    安装Numpy 因为使用biopython需要numpy的支持,所以需要先安装numpy。安装numpy过程如下:...

  • Numpy

    Numpy中文文档 # 基本语法 ``` import numpy myText = numpy.genfromt...

网友评论

    本文标题:Jupyter&numpy

    本文链接:https://www.haomeiwen.com/subject/viogvftx.html