目录
一、 简介
二、 下载安装 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第三方库。
可进行的数学操作有:
写在前面:anaconda是python语言的免费增值开源发行版,用于进行大规模数据处理、预测分析和科学计算,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等……
anaconda可以在你的电脑上创建多个你想要的python环境。另外,conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
如果想使用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是帮助我们处理数值型数据的。
可以使用其创建一个ndarry类型的数组,注意输出数据中间没有标点符号
import numpy as np
a = np.array([1, 2, 3, 4])
print (a)
print (type(a))
使用其可以方便创建某一区间的数组
# 方法一 使用range
b = np.array(range(1, 10))
print (b)
print (type(b))
# 方法二 使用arange
c = np.arange(1, 10)
print (c)
print (type(c))
两种方法输出的结果一模一样! 但是数组里面的数据类型是什么样子的呢?可以使用dtype方法查看~
主要是用来取精度:
d = np.array([random.random()for i in range(10)])
print (d)
# 比如取小数点后两位
print(d.round(2))
# 修改数据类型
e = np.array([0, 1, 0])
print (e.dtype)
f = e.astype("bool")
print(f)
print(f.dtype)
涉及的方法有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()直接定义多维数组。
采用 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)
①数组和数字进行计算:+、-、*、/ 每个元素都要参与计算
# 一 数组和数字的计算
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)
②数组和数组进行运算
形状相同:+、-、*、/ 可以直接进行对应元素的计算
# 一 数组和数组的计算 两个数组形状相同
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)
形状不同: +、-、*、/ 采用广播机制
# 一 数组和数组的计算 两个数组形状不相同
# 列匹配
t1 = np.arange(0, 24).reshape((4, 6))
print (t1)
t2 = np.arange(0, 6)
print (t2)
print (t1+t2)
# 一 数组和数组的计算 两个数组形状不相同
# 行匹配
t1 = np.arange(0, 24).reshape((4, 6))
print (t1)
t2 = np.arange(0, 4).reshape((4, 1))
print (t2)
print (t1+t2)
若行和列都无法匹配就会报错,遵循广播机制。
接下