首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10000篇文章
优秀的个人博客,低调大师

手把手的numpy入门教程,从此数据处理不再慌

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 首先我们来看数组重塑,所谓的重塑本质上就是改变数组的shape。在保证数组当中所有元素不变的前提下,变更数组形状的操作。比如常用的操作主要有两个,一个是转置,另外一个是reshape。 转置与reshape 转置操作很简单,它对应线性代数当中的转置矩阵这个概念,也就是说它的功能就是将一个矩阵进行转置。 转置矩阵的定义是将一个矩阵的横行写为转置矩阵的纵列,把纵列写成转置矩阵的横行。这个定义的是二维的矩阵,本质上来说,转置操作其实是将一个矩阵沿着矩阵的大对角线进行翻转。翻转之后,显然这个矩阵的各个维度都会发生变化。 其中二维的矩阵最直观,一个4 x 3的矩阵,转置之后得到的是3 x 4的矩阵。如果维度更多呢?如果是3 x 2 x 4的矩阵转置之后会得到什么? 很简单,得到的会是4 x 2 x 3的矩阵。我们都知道,如果我们把一个矩阵各个维度的大小写在一起,会得到一个元组(tuple),这个元组称为矩阵的shape,我实在是不知道该怎么翻译这个单词,但是我觉得叫做形状不太妥当,所以就保留了英文原文。转置之后,矩阵的shape会整个翻转。比如(3, 2, 4)会变成(4, 2, 3)。 我们可以来看一个例子,会更加的直观。首先我们先看最简单的二维矩阵: 这是随机出来的一个3 x 4的二维矩阵,在numpy当中,有两种方式获取一个矩阵或者是数组的转置。第一种方式是通过在数组的变量名之后加上.T操作符,第二种方式是调用numpy中的transpose函数,这两种方式是一样的。我个人比较倾向于前者,写起来比较简单。 我们可以看到转置之后新的矩阵的第一列其实是原矩阵的第一行,第一行是原矩阵的第一列。可以看成是原矩阵按照从左上角到右下角的一条无形的线翻转之后的结果。 理解了转置之后,我们再来看reshape操作。其实我们从这个单词上也能大概猜到它的意思,reshape也就是再次shape的意思,本意是根据我们想要的shape重新组装矩阵当中的元素。 我们来看一个例子吧,首先,我们通过arange方法来获取一个一维的数组: 因为是1维的,所以我们去看它的shape也只有一维。假设我们不喜欢这样的一维数组,而想把它变成3 x 4或者是6 x 2的格式,这时候使用reshape就会很方便。 本质上来说reshape操作其实就是按照顺序从矩阵当中获取元素,然后按照我们制定的shape填充出一个新的矩阵的操作。这个应该不难理解, 它也是非常常用的重塑操作,通过reshape和转置,我们可以很方便地操作矩阵的大小,根据我们的需要作出改变。 三元表达式 在许多编程语言当中我们经常会用到三元表达式,三元表达式其实本质就是if-else语句,只是我们用特殊的方法将它简写。 比如说在C++当中,我们可以把if condition A else B简写成:condition ? A : B。Python同样支持三元表达式,不过对C++的三元表达式做了一些改动,在Python当中三元表达式写成:A if condition else B。相对来说更加直观一些,我们经常会在数组初始化的时候用到三元表达式。比如,我们可能会这样生成一个数组: arr = [1 if condition else 0 for _ in range(10)] 我们通过条件来判断了每一位是1还是0来生成了一个数组,简化了代码。在numpy当中同样继承了这个用法,我们一样可以使用三元表达式,不过numpy将它封装进了where函数当中,我们是通过调用一个方法来实现三元表达式的功能。我们来看下具体的用法,假设我们有两个数组: 我们还有一个bool型的数组c,我们希望根据c数组选择从a数组或者是b数组当中获取数据。我们可以使用where写成这样: 在这个例子当中,c数组中的1和0分别表示True和False。当我们调用np.where的时候,numpy会自动根据c数组当中的值去选择从a数组还是b数组当中获取数据。相当于我们执行了这么一段代码: [x if c else y for c, x, y in zip(c, a, b)] 虽然两者的运行结果是一样的,但是显然使用循环的方法计算耗时更长,而使用numpy的向量做法运算速度更快。除此之外,numpy的where方法还支持高维的数组,但是循环的方法不行。并且where还有一些更高级的用法,比如说我们传入的第二个和第三个参数,可以不是数组而是一个标量。比如我们可以指定当c中的元素是True的时候填入1,否则填入-1: 总结 今天的文章主要介绍了Numpy当中的reshape、转置以及where的用法,这些也是numpy的基础用法,尤其是转置、reshape,几乎是处理数据必用的方法。所以想要从事Python机器学习或者是人工智能的小伙伴,numpy的这些用法是一定要会的。 本文当中介绍的只是numpy的一些固定套路,但其实numpy很多的用法是可以组合的,一些看似平淡无奇的用法组合在一起之后会有神奇的效果。这一点光看书或者是资料是很难穷尽的,所以如果你已经学会了这些api的基本使用,接下来最应该做的是去读一些大牛的源码,看看大牛们是如何运用这些工具的,相信一定还会有新的收货。 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-06-08本文作者:承志本文来自:“掘金”,了解相关信息可以关注“掘金”

优秀的个人博客,低调大师

从零开始入门 K8s | 手把手带你理解 etcd

作者| 曾凡松(逐灵)阿里云容器平台高级技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 16 讲。 更多云原生技术资讯可关注阿里巴巴云原生技术圈。 导读:etcd是用于共享配置和服务发现的分布式、一致性的 KV 存储系统。本文从 etcd 项目发展所经历的几个重要时刻开始,为大家介绍了 etcd 的总体架构及其设计中的基本原理。希望能够帮助大家更好的理解和使用 etcd。 一、etcd 项目的发展历程 etcd 诞生于 CoreOS 公司,它最初是用于解决集群管理系统中 OS 升级的分布式并发控制以及配置文件的存储与分发等问题。基于此,etcd 被设计为提供高可用、强一致的小型 keyvalue 数据存储服务。 项目当前隶属于 CNCF 基金会,被 AWS、Google、Microsoft、Alibaba 等大

优秀的个人博客,低调大师

网站建设——部署与发布入门篇(基于阿里云服务器)

1、建站基本步骤1.1用户访问网站的过程 1.2建设一个网站的基本步骤 2、注册域名查看详情2.1域名的分类①英文域名:abc.com,12306.cn,taobao.net②中文域名:阿里.中国,阿里.com,阿里.cn,阿里.网络③新顶级域名:test.xin,test.win,test.vip,test.集团 2.2域名注册步骤 3、开通云服务器3.1云服务器选择 注:(24岁以下可以购买学生服务器)购买步骤: 进入云翼计划:这里必须购买三个月以上,否则后面无法进行备案。一年一度的双11大促就要开始了,双11并不局限11月11日,从现在就可以先参与了。 先领券再购买云产品》》 (不限新老用户)云产品一折拼购直达地址》》aliyunp.com(阿里云拼团) (不限新老用户)阿里云双11优惠主会场直达地址》》aliyunh.com(阿里云双11主会场)! 购买完成以后进入控制台查看: 3.2云服务器管理此处连接工具有很多种选择,笔者通常使用Xshell,这里只是尝试了putty,相比之下更喜欢Xshell。更加好用 操作过程: 关键配置: 输入用户名和密码,登陆成功 4、搭建网站环境4.1Apache安装yum -y install httpd 4.2nginx+php+mysql环境搭建 5、发布网站内容5.1操作过程如果安装了Xftp工具也可以使用,都是一样的 操作过程: 配置图示:网站发布图示:将写好的代码文件上传到前面新建的/var/www/html文件夹下,即可完成。 在浏览器地址栏内输入服务器公网IP 6、域名解析6.1域名解析 6.2解析步骤注:操作步骤阿里云会有引导,在此附两张关键截图: 7、完成ICP备案7.1备案前准备 7.2服务号申请 备案流程: 备案信息填写: 证件上传: 核验单签字邮寄: 7.3初审客服打电话确认无误后,初审通过。 使用幕布拍照:

优秀的个人博客,低调大师

Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy

1. 高考派大学数据----写在前面 终于写到了scrapy爬虫框架了,这个框架可以说是python爬虫框架里面出镜率最高的一个了,我们接下来重点研究一下它的使用规则。 安装过程自己百度一下,就能找到3种以上的安装手法,哪一个都可以安装上可以参考 https://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html 官方说明进行安装。 2. 高考派大学数据----创建scrapy项目 通用使用下面的命令,创建即可 scrapy startproject mySpider 完成之后,你的项目的目录结构为 每个文件对应的意思为 scrapy.cfg 项目的配置文件 mySpider/ 根目录 mySpider/items.py 项目的目标文件,规范数据格式,用来定义解析对象对应的属性或字

优秀的个人博客,低调大师

Python爬虫入门教程 20-100 慕课网免费课程抓取

1. 慕课网免费课程-写在前面 美好的一天又开始了,今天咱继续爬取IT在线教育类网站,慕课网,这个平台的数据量并不是很多,所以爬取起来还是比较简单的 2. 慕课网免费课程准备爬取 打开我们要爬取的页面,寻找分页点和查看是否是异步加载的数据。 进行了一些相应的分析,发现并没有异步数据,只需要模拟翻页就,在进行HTML的解析就可以获取数据了,翻页数据如下,合计32页,在数据量上属于非常小的了。 https://www.imooc.com/course/list?page=1 https://www.imooc.com/course/list?page=2 .... https://www.imooc.com/course/list?page=32 3. 慕课网免费课程编写代码 代码分为自动拼接URL,解析HTML,存储到mongodb三个部分组成

优秀的个人博客,低调大师

【URLOS应用开发基础课】docker官方系统镜像Alpine入门教程

我们在进行URLOS应用开发时,经常会用到一些基础系统镜像,如:ubuntu、CentOS、Debian等,我们可以通过docker pull命令直接拉取官方镜像。 root@ubuntu:~# docker pull ubuntu:18.04 18.04: Pulling from library/ubuntu 898c46f3b1a1: Already exists 63366dfa0a50: Already exists 041d4cd74a92: Already exists 6e1bee0f8701: Already exists Digest: sha256:017eef0b616011647b269b5c65826e2e2ebddbe5d1f8c1e56b3599fb14fabec8 Status: Downloaded newer image for ubuntu:18.04 root@master-node:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 18.04 94e814e2efa8 6 weeks ago 88.9MB root@ubuntu:~# 以上是从docker官方拉取的ubuntu18.04镜像,我们可以基于此镜像制作相关的应用,比如LNP网站环境、LAP网站环境、Nodejs环境等等。简单理解,就是说几乎所有的docker应用都是在这些镜像上层层打包后得到的,应用的最终体积也许有几百M甚至上G,我们如何为应用瘦身以减少对磁盘的消耗呢? docker官方为我们打造了Alpine。Alpine 的意思是“高山的”,比如 Alpine plants高山植物,Alpine skiing高山滑雪、the alpine resort阿尔卑斯山胜地,其实Alpine是一个操作系统。 Alpine 操作系统是一个面向安全的轻型 Linux 发行版。目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。 Alpine的特点: 1、小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB; 2、安全:面向安全的轻量发行版; 3、简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。 4、适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。 在制作URLOS应用时,我们可以选择Alpine作为系统基础镜像,这样一来可有效降低应用的大小,方便其他用户下载安装。现在我们开始使用Alpine(如果你的系统中没有安装docker,建议先安装URLOS,因为它自带了docker)。 docker下运行Alpine使用docker pull命令拉取Alpine镜像 root@ubuntu:~# docker pull alpine Using default tag: latest latest: Pulling from library/alpine bdf0201b3a05: Pull complete Digest: sha256:28ef97b8686a0b5399129e9b763d5b7e5ff03576aa5580d6f4182a49c5fe1913 Status: Downloaded newer image for alpine:latest root@ubuntu:~# 使用docker images命令查看镜像 root@ubuntu:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest cdf98d1859c1 2 weeks ago 5.53MB ubuntu 18.04 94e814e2efa8 6 weeks ago 88.9MB root@ubuntu:~# 可以看到alpine镜像只有5.53MB,而ubuntu镜像则有88.9MB,Alpine的体积优势非常明显。 下面运行镜像 root@ubuntu:~# docker run -it --name myalpine alpine / # Alpine的基本配置 1、网络相关配置 主机名文件 /etc/hostname 使用新设置的主机名立刻生效,执行如下命令: hostname -F /etc/hostname 主机IP和域名映射文件 /etc/hosts 文件内容为: 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 a9efe865a8e6 192.168.43.121 www.urlos.com DNS 服务器配置文件 /etc/resolv.conf 文件内容为: #neeanew Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.43.1 网卡配置文件 /etc/network/interfaces 文件内容为: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.43.121 netmask 255.255.255.0 gateway 192.168.43.1 修改完相关配置以后,重新启动网络服务: /etc/init.d/networking restart 2、更新国内源 Alpine的源文件为: /etc/apk/repositories 默认的源地址为:http://dl-cdn.alpinelinux.org/ 可以编辑源文件 /etc/apk/repositories 采用国内阿里云的源,文件内容为: https://mirrors.aliyun.com/alpine/v3.6/main/ https://mirrors.aliyun.com/alpine/v3.6/community/ 如果采用中国科技大学的源,文件内容为: https://mirrors.ustc.edu.cn/alpine/v3.6/main/ https://mirrors.ustc.edu.cn/alpine/v3.6/community/ 软件包管理工具apk的基本使用 alpine 提供了非常好用的apk软件包管理工具, 可以方便地安装、删除、更新软件。 查询相关的软件包 命令:apk search,如查询vim软件包: / # apk search vim neovim-doc-0.2.0-r0 faenza-icon-theme-vim-1.3.1-r4 docker-vim-17.05.0-r0 vim-doc-8.0.0595-r0 py-jinja2-vim-2.9.6-r0 vimdiff-8.0.0595-r0 asciidoc-vim-8.6.9-r2 neovim-lang-0.2.0-r0 vim-8.0.0595-r0 neovim-0.2.0-r0 nginx-vim-1.12.2-r2 msmtp-vim-1.6.6-r1 protobuf-vim-3.1.0-r1 gst-plugins-base1-1.10.4-r1 mercurial-vim-4.5.2-r0 / # 安装软件包 命令:apk add ,如安装vim软件包: / # apk add vim (1/5) Installing lua5.2-libs (5.2.4-r2) (2/5) Installing ncurses-terminfo-base (6.0_p20171125-r1) (3/5) Installing ncurses-terminfo (6.0_p20171125-r1) (4/5) Installing ncurses-libs (6.0_p20171125-r1) (5/5) Installing vim (8.0.0595-r0) Executing busybox-1.29.3-r10.trigger OK: 39 MiB in 19 packages / # 卸载软件 命令:apk del ,如卸载vim软件: / # apk del vim (1/5) Purging vim (8.0.0595-r0) (2/5) Purging lua5.2-libs (5.2.4-r2) (3/5) Purging ncurses-libs (6.0_p20171125-r1) (4/5) Purging ncurses-terminfo (6.0_p20171125-r1) (5/5) Purging ncurses-terminfo-base (6.0_p20171125-r1) Executing busybox-1.29.3-r10.trigger OK: 6 MiB in 14 packages / # 获取更多apk包管理的命令参数 命令:apk --help 以上是Alpine最基本的使用方法,更多URLOS开发教程与docker容器教程请访问URLOS官网获取。 URLOS官网:https://www.urlos.com/URLOS安装方法:https://www.urlos.com/center-home-index-detail-10-22-y.html

优秀的个人博客,低调大师

【资料下载】K8s监控神器——TSDB for Prometheus的入门与实践

议题介绍 Prometheus作为云原生监控的首选工具,其单机部署的架构设计在提供稳定性和易用性的同时,也使得数据存储受限于单节点的存储大小。阿里云TSDB针对这一痛点,为用户提供了易用性高,稳定性强,性价比优的存储技术方案。本次技术分享中,我们会展示如何配置阿里云TSDB作为Prometheus远程存储的流程,并量化展示本方案达到的查询吞吐高,延迟低,性能按需弹性扩展等优势。关注Prometheus的你,请千万不要错过本次技术分享。 讲师介绍 胡建洪(花名:莫趋),阿里云数据库产品事业部开发工程师 直播时间 4月25日 19:00 - 19:40(30分钟分享+10分钟答疑) 观看视频 直播地址:https://yq.aliyun.com/live/1053 PPT精彩一览 下载地址:https://yq.aliyun.com/download/

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册