深度学习入门 之 Numpy学习笔记(一)

目录

一、 简介

二、 下载安装 Anaconda(pythonIDE,内置了numpy库)

三、 Anaconda的使用

四、 Numpy知识点总结

4.1 numpy数组

4.1.1 array方法的使用

4.1.2 arange方法

4.1.3 dtype方法

4.1.4 round方法

4.1.5 astype方法

4.1.6 数组的形状 

4.1.7 数组的计算


一、 简介

NUmpy 全称 “Numeric python”(数字的python),顾名思义,一个很适合数学运算的python第三方库。

可进行的数学操作有:

  1. 数组的算数和逻辑运算。
  2. 傅立叶变换和用于图形操作的例程。
  3. 与线性代数有关的操作【NumPy 拥有线性代数和随机数生成的内置函数】。

二、 下载安装 Anaconda(pythonIDE,内置了numpy库)

写在前面:anaconda是python语言的免费增值开源发行版,用于进行大规模数据处理、预测分析和科学计算,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等……

anaconda可以在你的电脑上创建多个你想要的python环境。另外,conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。

三、 Anaconda的使用

如果想使用anaconda 创建python环境可以使用电脑cmd执行以下两个操作:

1.修改为清华源
直接打开cmd输入以下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
2.移除清华源
输入:conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
这个命令是为了移除之前conda config --show channels显示的清华源。

 

之后在conda prompt里面通过conda create -n xx python=版本号 命令就可以创建一个python环境,输入conda info -e可以检查是否创建成功

深度学习入门 之 Numpy学习笔记(一)_第1张图片

四、 Numpy知识点总结

numpy是帮助我们处理数值型数据的。

4.1 numpy数组

4.1.1 array方法的使用

可以使用其创建一个ndarry类型的数组,注意输出数据中间没有标点符号

import numpy as np
a = np.array([1, 2, 3, 4])
print (a)
print (type(a))

深度学习入门 之 Numpy学习笔记(一)_第2张图片

4.1.2 arange方法

使用其可以方便创建某一区间的数组

# 方法一 使用range
b = np.array(range(1, 10))
print (b)
print (type(b))
# 方法二 使用arange
c = np.arange(1, 10)
print (c)
print (type(c))

深度学习入门 之 Numpy学习笔记(一)_第3张图片

 两种方法输出的结果一模一样! 但是数组里面的数据类型是什么样子的呢?可以使用dtype方法查看~

4.1.3 dtype方法

深度学习入门 之 Numpy学习笔记(一)_第4张图片

4.1.4 round方法

主要是用来取精度:

d = np.array([random.random()for i in range(10)])
print (d)
# 比如取小数点后两位
print(d.round(2))

4.1.5 astype方法

# 修改数据类型
e = np.array([0, 1, 0])
print (e.dtype)
f = e.astype("bool")
print(f)
print(f.dtype)

深度学习入门 之 Numpy学习笔记(一)_第5张图片

4.1.6 数组的形状 

涉及的方法有shape()、reshape()、flatten()

t1 = np.arange(20)
print (t1)
print (t1.shape)

t2 = t1.reshape((4, 5))
print (t2)
print (t2.shape)

 reshape括号里面的值的个数决定了几维数组,一维数组填一个数(元素的个数)

可以在定义数组的时候使用 np.arange(20).reshape()直接定义多维数组。

深度学习入门 之 Numpy学习笔记(一)_第6张图片

采用 t2 = t1.reshape((4, 5)) 的方式说明了reshape方法是有返回值的,对t1不造成影响。还有一种没有返回值的,对数据本身进行操作称为原地操作。

# 二维转一维 方法一
t3 = t2.reshape((t2.shape[0]*t2.shape[1],))
print (t3)
print (t3.shape)
# 方法二
t4 = t2.flatten()
print (t4)
print (t4.shape)
# flatten可以直接无脑多维转一维
t5 = t1.reshape((2, 2, 5))
print (t5)
t6 = t5.flatten()
print(t6)

深度学习入门 之 Numpy学习笔记(一)_第7张图片

4.1.7 数组的计算

 ①数组和数字进行计算:+、-、*、/  每个元素都要参与计算

# 一 数组和数字的计算
t1 = np.arange(0,24).reshape((4,6))
print (t1)
t2 = 3
t3 = t1 + t2
t4 = t1 * t2
t5 = t1/0
print (t3)
print (t4)
print (t5)

深度学习入门 之 Numpy学习笔记(一)_第8张图片

 ②数组和数组进行运算

形状相同:+、-、*、/  可以直接进行对应元素的计算

# 一 数组和数组的计算  两个数组形状相同
t1 = np.arange(0, 24).reshape((4, 6))
print (t1)
t2 = np.arange(3, 27).reshape((4, 6))
print (t2)
t3 = t1+t2
print (t3)
t4 = t1*t2
print (t4)
t5 = t2/t1
print (t5)

深度学习入门 之 Numpy学习笔记(一)_第9张图片

形状不同: +、-、*、/  采用广播机制

# 一 数组和数组的计算  两个数组形状不相同
# 列匹配
t1 = np.arange(0, 24).reshape((4, 6))
print (t1)
t2 = np.arange(0, 6)
print (t2)
print (t1+t2)

深度学习入门 之 Numpy学习笔记(一)_第10张图片

# 一 数组和数组的计算  两个数组形状不相同
# 行匹配
t1 = np.arange(0, 24).reshape((4, 6))
print (t1)
t2 = np.arange(0, 4).reshape((4, 1))
print (t2)
print (t1+t2)

深度学习入门 之 Numpy学习笔记(一)_第11张图片

 若行和列都无法匹配就会报错,遵循广播机制。

接下

你可能感兴趣的:(深度学习,深度学习,python,pycharm)