温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Numpy的Anaconda怎么使用

发布时间:2021-12-27 10:48:27 阅读:177 作者:iii 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容主要讲解“Numpy的Anaconda怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Numpy的Anaconda怎么使用”吧!

Anaconda的基本用法

在windows下安装好Anaconda后,在所有程序中可以看到Anaconda下有以下几个组件:

  • Anaconda Navigator:用于管理工具包和环境的图形界面。

  • Anaconda Prompt:用于管理包和环境的命令行界面。

  • Jupyter Note book:基于Web的交互式计算环境,用于展示数据分析的过程,并且生成容易阅读的文档。

  • Spyder:Python集成开发环境,布局类似于Matlab。

我们学习主要使用的是第三个Jupyter Note book。

这里简单普及一下常用的Anaconda命令(虽然我也不经常用)。

  • 查看软件版本号

python --version #查看Python版本conda --version #查看conda的版
  • 添加镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  • 更新conda

conda upgrade --all
  • 查看已经安装的packages

conda listconda install [package name] #安装package,安装在默认的Python环境中

新手入门建议只安装Anaconda,可以省去很多不必要的麻烦,以上就是Anaconda的基本使用,欢迎大家在留言区补充。

Numpy索引及切片

纠正下上一篇的错误:

# 正确的导入方式import numpy as np

numpy的索引方式和Python中的列表索引相似,这里主要介绍普通数组索引/切片和布尔型数组的索引/切片。

一维数组的索引/切片

一维数组的索引和切片和Python中的列表相同,索引都是从0开始,切片都是左闭右开。

import numpy as npar = np.arange(20)# 输出ar的第4个值print(ar[3])# 输出ar的前四个值print(ar[:4])>>>4[0 1 2 3]
多维数组的索引/切片

二维数组可以理解为两个一维数组横向堆叠在一起,所只要分别取对应索引即可。

import numpy as npar = np.arange(16).reshape(4,4)# 二维数组索引遵照先行后列(有以下两种写法)# 选取第二行第二列的值print(ar[2][2])print(ar[2,2])# 二维数组切片# 取出前两行的值print(ar[:2])# 取出前两行后两列的值print(ar[:2,2:])>>>[[ 0  1  2  3] [ 4  5  6  7] [ 8  9 10 11] [12 13 14 15]]1010[[0 1 2 3] [4 5 6 7]][[2 3] [6 7]]

三位数组的索引、切片的取值方式相当与二维数组的进化版。

import numpy as npar = np.arange(12).reshape(3,2,2)print(ar)# 三维数组索引遵照先维度后行再列print(ar[2][0][1])print(ar[2,0,1])# 切片# 获取第一个数组的第一行的第一列的数print(ar[:1,:1,:1])>>>[[[ 0  1]  [ 2  3]] [[ 4  5]  [ 6  7]] [[ 8  9]  [10 11]]][[[0]]]99
布尔型的索引及切片

布尔型数组的使用是本片文章的重点。

# 简单展示一下布尔型的一维数组长啥样i = np.array([True,False,True])j = np.array([True,True,False,False])print(i)print(j)>>>True False  True][ True  True False False]

而我们经常见到的是这样的:

ar = np.arange(12).reshape(3,4)print(ar)print(ar>5)>>>[[ 0  1  2  3] [ 4  5  6  7] [ 8  9 10 11]] [[False False False False] [False False  True  True] [ True  True  True  True]]

当我们需要筛选出ar中大于3的值,就可以使用布尔值进行筛选,如下:

ar = np.arange(12).reshape(3,4)print(ar[ar>3])>>>[ 4  5  6  7  8  9 10 11]
Numpy随机数
均匀分布和正态分布

以均匀分布和正态分布的方式生成随机数

# numpy.random.rand() 生成一个0-1的随机浮点数或N维浮点数 --均匀分布a = np.random.rand()b = np.random.rand(4,4)print(a)print(b)>>>0.5544023939180306[[0.46387648 0.97345876 0.12059175 0.7565951 ] [0.30192996 0.76633208 0.20107761 0.09315875] [0.79347118 0.26714404 0.08628158 0.72510313] [0.06606087 0.93260038 0.90268201 0.90941348]]

以正太分布的方式生成随机数

# numpy.random.randn() 生成一个0-1的随机浮点数或N维浮点数 --正态分布a = np.random.randn()b = np.random.randn(4,4)print(a)print(b)>>>0.26901442604096687[[ 0.40261375 -0.23541184  0.96607489 -1.11253043] [-0.31670703  0.05841136 -0.01862511  1.72597729] [ 0.17052799  1.03537825 -0.94375417  1.32484928] [ 0.132761    0.44950533  0.44131534 -0.11319535]]

按照上面的写法相信大家对与.randn()和.rand()的认识还不够清晰,这里用可视化的方式展示一下:

#平均分布# numpy.random.rand() 生成一个0-1的随机浮点数或N维浮点数 --均匀分布data1 = np.random.rand(500)data2 = np.random.rand(500)#正态分布# numpy.random.randn() 生成一个浮点数或N维浮点数  --正态分布data3 = np.random.randn(500)data4 = np.random.randn(500)import matplotlib.pyplot as plt% matplotlib inlineplt.scatter(data1,data2)plt.scatter(data3,data4)

这是随机分布的图样:

这是正态分布的图样:

可以看到正态分布和随机分布的成像还是有较大不同的,当然这里只是加深大家对.randn()和.rand()的认识,可视化在之后会进一步学习。

Numpy随机数的其他用法
#随机整数print(np.random.randint(2))#在2-10之间生成随机整数print((np.random.randint(2,10)))# 在0-10之间生成10个整数print((np.random.randint(10,size=10)))# 在0-10之间生成包含10个元素的二维数组print(np.random.randint(10,size=(2,5)))# 在10-50之间生成包含10个元素的二维数组print(np.random.randint(10,50,size=(2,5)))

到此,相信大家对“Numpy的Anaconda怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:http://blog.itpub.net/31556785/viewspace-2216601/

AI

开发者交流群×