第一节anaconda+jupyter+numpy简单使用(代码片段)

angle6-liu angle6-liu     2023-03-09     719

关键词:

  数据分析:是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律

  数据分析三剑客:Numpy,Pandas,Matplotlib 

 

一 Anaconda 

1 下载

官网:https://www.anaconda.com/distribution/

技术图片

 

2 安装

https://blog.csdn.net/u012318074/article/details/77075209

 

3 基本使用

http://python.jobbole.com/86236/

 

二 jupyter

1 在文件中启动cmd文件

技术图片

2 输入jupyter notebook

技术图片

 

技术图片

3 快捷键

  插入cell: a(之前插入),b(之后插入)

  删除cell: x

  切换cell模式: y 切换为code模式

        m 切换为markdowm 模式(显示html样式)

  运行代码:shift+enter

  自动补全代码:tab

  查看帮助文档:shift+tab

  进入编辑:鼠标双击

 

三 numpy(重点)

  NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

import numpy as np

一 创建数组

1. 使用np.array()创建

   创建一维数组

a = np.array([1,2,3,4,5])

技术图片

  创建二维数组

a1 = np.array([[1,4,3],[4,5,6],[7,8,9.5]])

技术图片

注意:
numpy默认ndarray的所有元素的类型是相同的
如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>int

  n维数组

import matplotlib.pyplot as plt

img_arr = plt.imread(./bobo.jpg)  #图片路径

plt.imshow(img_arr) #显示图片

技术图片

 

2 使用np的routines函数创建  

1) np.ones(shape, dtype=None, order=C)

shape:数组的尺寸(2,3,3) 2行3列3页的数组

dtype:数据类型(str,int,float)
np.ones((4,6))  #创建全1矩阵 4x6

技术图片

2) np.zeros(shape, dtype=None, order=C) #创建全0矩阵
  np.zeros((2,3))

技术图片

3) np.full(shape, fill_value, dtype=None, order=C) #指定填充数据,创建矩阵

技术图片

5) np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 等差数列

start:起始值
stop:终止值
num:个数
endpoint:是否包含终止值,true表示包含
retstep:是否返回步长

技术图片

6) np.arange([start, ]stop, [step, ]dtype=None) #根据步长取数

技术图片

7) np.random.randint(low, high=None, size=None, dtype=l) #产生随机整数
np.random.seed(100)  #不在随机
np.random.randint(0,100,size=(5,3))

技术图片

8) np.random.randn(d0, d1, ..., dn)  #正态分布中随机取数值
9) np.random.random(size=None)  #生成0到1的随机数,左闭右开 

 

二  ndarray的属性

np.random.seed(100)
arr=np.random.randint(50,100,size=(5,5))
arr

技术图片

数组性质:

arr.shape #数组的各维度尺寸,返回元组 arr.size #返回各维度尺寸的乘积 arr.dtype #返回数组的数据类型 type(arr) #返回数组类型

技术图片

 

三 ndarray 的基本操作

  1 索引 :一维与列表完全一致 多维时同理

np.random.seed(10)
arr = np.random.randint(0,100,size=(5,5))
arr

技术图片

arr[1][3] = 10000 #索引并赋值

  2 切片:一维与列表完全一致 多维时同理

格式:

arr[:,:,] 不同维度用‘,隔开,[行索引,列索引]

 

#获取二维数组前两行
arr[0:2] 

 

#获取二维数组前两列
arr[:,0:2] #逗号之间表示的行,逗号后面表示的列的切片

 

#获取二维数组前两行和前两列数据
arr[0:2,0:2]

技术图片

  3 数据反转 ,例如[1,2,3]---->[3,2,1]   --->  ::进行切片

#将数组的行倒序
arr[::-1]

 

#列倒序
arr[:,::-1]

 

#全部倒序
arr[::-1,::-1]

 

  4 图片的反转

cat_arr=plt.imread(part_1/cat.jpg) #获取图片数据

res_cat_arr=cat_arr[::-1,::-1,::-1] #数据反转

plt.imshow(res_cat_arr) #显示图片

技术图片技术图片

             (未反转)                                                                           (反转后)

   5 变形

使用arr.reshape()函数,注意参数是一个tuple!
arr_1.reshape((25,1)) #将多维数组变形成一维数组

技术图片

arr_1.reshape((-1,5))  #-1表示自动计算行数

技术图片

  使用变形图片倒置

img_arr.shape #获取图片数组的尺寸

#将元数据变形成一维
img_arr_one_ndim = img_arr.reshape((626*413*3))

#将变形后的一维数组中的元素全部倒置
img_arr_one_ndim = img_arr_one_ndim[::-1]

#重新塑造回原先的多维数组
arr_img_finally = img_arr_one_ndim.reshape((626,413,3))

plt.imshow(arr_img_finally) #展示图片 

          技术图片          技术图片

  6 级联 

  • np.concatenate()
np.concatenate((arr1,arr2),axis=1)    #axis=0 纵轴  1横轴

技术图片

  • 图片的合并---九宫格

tree_arr=np.concatenate((cat_arr,cat_arr,cat_arr),axis=1) #横向合并

nine_arr=np.concatenate((tree_arr,tree_arr,tree_arr),axis=0) #纵向合并

plt.imshow(nine_arr) 

技术图片

  • np.hstack与np.vstack
np.vstack((arr,arr1))  垂直方向级联
np.vstack((arr,arr1))  纵向方向级联

 

级联需要注意的点:
  1 级联的参数是列表:一定要加中括号或小括号
  2 维度必须相同
  3 形状相符:在维度保持一致的前提下,如果进行横向(axis=1)级联,
   必须保证进行级联的数组行数保持一致。
如果进行纵向(axis=0)级联,
   必须保证进行级联的数组列数保持一致。   4 可通过axis参数改变级联的方向

  6 切分

与级联类似,三个函数完成切分工作:
  np.split(arr,行/列号,轴):参数2是一个列表类型
  np.vsplit 垂直方向切割
  np.hsplit 水平方向切割
arr

技术图片

np.split(arr,(2,4),axis=1)   #在纵向索引为2,4的位置切割

技术图片

  •   切割照片
cat_arr=plt.imread(part_1/cat.jpg)#获取图片数据

c1,c2,c3=np.split(cat_arr,(150,360),axis=0) #纵向切割,并解包

plt.imshow(c1)

plt.imshow(c2)

plt.imshow(c3)

技术图片

  7 副本

  所有赋值运算不会为ndarray的任何元素创建副本。对赋值后的对象的操作也对原来的对象生效。

arr_= arr.copy() #产生一个arr一样的副本

 

四 ndarray 的聚合操作

  • 求和np.sum
arr.sum(axis=1) #横向求和

arr.sum(axis=0) #纵向求和
  • 最大值最小值 np.max/np.min
arr.max(axis=1) #横向取最大

arr.max(axis=0) #纵向取最大
  • 平均值 np.mean()
arr.mean()  #取所有数据的平均值
  • 其他聚合操作
Function Name    NaN-safe Version    Description
np.sum    np.nansum    Compute sum of elements
np.prod    np.nanprod    Compute product of elements
np.mean    np.nanmean    Compute mean of elements
np.std    np.nanstd    Compute standard deviation
np.var    np.nanvar    Compute variance
np.min    np.nanmin    Find minimum value
np.max    np.nanmax    Find maximum value
np.argmin    np.nanargmin    Find index of minimum value
np.argmax    np.nanargmax    Find index of maximum value
np.median    np.nanmedian    Compute median of elements
np.percentile    np.nanpercentile    Compute rank-based statistics of elements
np.any    N/A    Evaluate whether any elements are true
np.all    N/A    Evaluate whether all elements are true
np.power 幂运算

 

五 广播机制

【重要】ndarray广播机制的三条规则:缺失维度的数组将维度补充为进行运算的数组的维度。缺失的数组元素使用
    已有元素进行补充。   规则一:为缺失的维度补1(进行运算的两个数组之间的维度只能相差一个维度)   规则二:缺失元素用已有值填充   规则三:缺失维度的数组只能有一行或者一列
例1:
m = np.ones((2, 3))
a = np.arange(3)

 技术图片

 

六 、ndarray的排序

np.sort()与ndarray.sort()都可以,但有区别:

np.sort()不改变输入
ndarray.sort()本地处理,不占用空间,但改变输入
np.sort(arr,axis=1)  #横向排序

np.sort(arr,axis=0) #纵向排序

 

 

 

 

 

 

 

 

 

 

 

 

 











机器学习_第一节_numpy

今天学了机器学习第一节, 希望能够坚持下去,其实不在乎课程是什么?关键要坚持下去今天主要学了对矩阵的一些操作, 用的库是numpy开始从头到尾捋一遍, 作者说的很有道理,学计算机,动手能力要强,所以以后尽量不要... 查看详情

(数据分析三板斧)第一斧numpy-第一节:numpy基本了解(代码片段)

文章目录一:Numpy了解二:Numpy之Ndarray对象三:Numpy之数据类型一:Numpy了解Numpy是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,它提供了许多高效的数值编程工具。其安装方法多种多... 查看详情

新手求指点anaconda重装jupyter报错multipleerrorsencountered.

我的jupyternotebook是anaconda安装的,开始使用一起正常,直到我跟着一个教程学做量化分析模型需要api接入,jupyter一直显示内核忙,内核挂掉了,[*]的问题,于此开始乱来了。。首先把ipykernel卸了,用pyth... 查看详情

数据分析基础(代码片段)

...析数据  4、获得结论  5、成果可视化开发环境介绍anaconda:一种机器学习和数据分析的集成环境。官网:https://www.anaconda.com/安装:傻瓜式安装。(安装路径最好不要有中文)jupyter:jupyter是anaconda提供的一个基于浏览器的可... 查看详情

anaconda使用jupyter多个内核共用添加自动补全插件

jupyter安装与使用教程:本文重点在于学会在anaconda环境下如何使用jupyter,包括安装、注册内核、添加自动补全插件;jupyter自由切换环境。目录索引一、anaconda下安装jupyter二、jupyter的一些操作三、jupyter使用自动补全插件四... 查看详情

centos7安装miniconda及配置jupyter(代码片段)

...版本的软件包及其依赖,并能够在不同的环境之间切换。Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。Anaconda安装包可以到https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/下载。Miniconda是一个Anaconda的轻量级... 查看详情

jupyter notebook FileNotFoundError - 查找错误的anaconda目录

】jupyternotebookFileNotFoundError-查找错误的anaconda目录【英文标题】:jupyternotebookFileNotFoundError-lookinginthewronganacondadirectory【发布时间】:2017-08-1107:05:04【问题描述】:我无法打开jupyter笔记本文件。查找Python时,Jupyter笔记本给我一个F... 查看详情

为啥要用jupyter

参考技术AJupyter属于Anaconda体系,而Anaconda集成的IPython功能,支持Python3以上的版本,Anaconda安装比Python安装省事多了,Python的各种库安装麻烦,手工检查问题,而Anaconda中根本不用你考虑,自动完成。另外,很多流行库必须安装在... 查看详情

win10下anaconda安装jupyter配置

一、准备1、win102、Anaconda:Anaconda3-5.2.0-Windows-x86_64.exe(推荐)官网地址:https://www.anaconda.com/download/(一般都是最新版,不推荐使用)推荐地址:https://repo.continuum.io/archive/或者 https://mirrors.tuna.tsinghua.edu.cn/an 查看详情

怎么在jupyter中使用anaconda中已经安装好的虚拟环境

...新的页面,我们只需在这个页面编写代码即可,anaconda中虚拟空间中包我们也可以使用。本人新手,如有认知不到的地方还请大家指正,祝大家在IT道路步步高升。 查看详情

配置 Spark 以使用 Jupyter Notebook 和 Anaconda

】配置Spark以使用JupyterNotebook和Anaconda【英文标题】:ConfiguringSparktoworkwithJupyterNotebookandAnaconda【发布时间】:2017-12-1500:23:36【问题描述】:我花了几天时间尝试让Spark与我的JupyterNotebook和Anaconda一起工作。这是我的.bash_profile的样... 查看详情

python怎么卸载numpy

...卸载numpy?下面给大家介绍一下卸载方法:1.如果安装了Anaconda,首先打开Anaconda,在AnacondaPrompt下输入pipuninstallnumpy;2.若不能删除,找到D:pythonLibsite-packages的numpy文件,把它直接删除,然后重复第一步即可。3.piplist查看安装的所... 查看详情

使用 anaconda 的 jupyter notebook 安装 pandas 时出错

】使用anaconda的jupyternotebook安装pandas时出错【英文标题】:Errorwhileinstallingpandasusinganaconda\'sjupyternotebook【发布时间】:2020-10-0201:36:40【问题描述】:我使用anaconda提示符安装了pandas。使用以下命令:-pipinstallpandas并得到以下消息:... 查看详情

anaconda重装jupyternotebook后启动jupyter报错的问题(代码片段)

问题描述:由于jupyter出现难以解决的问题,采用重新安装来解决问题,但是重装之后启动jupyter报错ImportError:libsodium.so.23:cannotopensharedobjectfile:Nosuchfileordirectory 过程描述:运用conda命令卸载jupyternotebookcondauninstalljupyter然后重新... 查看详情

尝试在我的 Anaconda 环境中安装 wptools 以在 Jupyter 中使用

】尝试在我的Anaconda环境中安装wptools以在Jupyter中使用【英文标题】:TryingtoinstallwptoolsinmyAnacondaenviromenttouseinJupyter【发布时间】:2019-04-0917:52:36【问题描述】:我正在尝试在我的python3Anaconda环境中安装wptools以在Jupyter中使用。因... 查看详情

Anaconda jupyter notebook“连接失败”错误

】Anacondajupyternotebook“连接失败”错误【英文标题】:Anacondajupyternotebook"connectionfailed"error【发布时间】:2021-08-1310:22:00【问题描述】:我最近安装了anaconda并尝试运行JupyterNotebook。我使用的是Windows10。我打开了一个文件夹... 查看详情

anaconda配置

1.设置默认工作目录2.设置国内镜像源3. jupyter_notebook添加目录插件(1)安装jupyter_contrib_nbextensions模块pipinstalljupyter_contrib_nbextensions(2)配置jupyter_contrib_nbextensions模块jupytercontribnbextensioninstall--user(3)配置 查看详情

Tweepy 没有在 anaconda jupyter 上运行

】Tweepy没有在anacondajupyter上运行【英文标题】:Tweepyisnotrunningonanacondajupyter【发布时间】:2019-04-2316:39:34【问题描述】:我已经在anacondapromptcondainstall-cconda-forgetweepy上安装了tweepy,但我收到以下错误任何想法?importtweepy输出:Trac... 查看详情