Python的numpy库的基本使用(数据分析)

一、安装和导入

1、安装

使用包管理器安装

pip3 install numpy

2、导入

import numpy

二、使用numpy创建数组

1、array

import numpy as npd1=np.array([[1,2,3],[4,5,6]])
print(type(d1))

import导入numpy包并用as语法起了一个别名np。使用np打点调用array方法创建了一个二维数组。与传统方法不同的是,使用numpy创建的数组类型是numpy.ndarray类型。

2、arrange

import numpy as np
data1=np.arange(15).reshape(5,3)
print(data1)

上述代码实现了创建一个二维数组data1,元素值是从0~14,共15个元素(arrange(15))。reshape(5,3)是代表这是个二维数组,有5行3列。若创建三维数组同理,只需传入三个参数:reshape(x,y,z)。

3、全0数组zeros

np.zeros(10)

上述代码实现了创建一个长度为10的一维数组,元素值全为0,也可以创建二维三维数组。例如:

np.zeros((2,3,4))

4、全1数组ones

np.ones((2,3,4))

上述代码创建了一个元素值都为1的三维数组。

5、空数组empty

np.empty((1,2,3))

使用empty创建的数组没有初始值,只是分配了地址。


三、指定数组类型

1、在创建时指定

data=np.array([1,2,3,4,5,6],dtype=np.float64)

在创建时使用dtype属性指定数据类型。

2、修改指定类型

data=data.astype(np.int32)

如果想将数组data转为int类型,就可以使用打点调用astype方法修改类型。


四、索引与切片

numpy的索引跟传统数组索引使用方法相同,切片使用方法也大致相同。但需要注意二维数组和三维数组的切片方式。

1、二维数组切片

data=np.arange(15).reshape(5,3)
#参数一:行,参数二:列
print(data[1:,:2])

上述代码就实现了对二维数组的切片,使用逗号分隔两个参数,第一个参数是对行切片,第二个参数是对列切片。上述代码对行的切片是从第一行开始之后的所有行,对列切片是从第一列开始到第二列,而列下标是0和1的元素。

2、三维数组的切片

data=np.arange(30).reshape(2,3,5)print(data[0:1,:,0:2])

data中的数据存储是这样的:

[[[ 0  1  2  3  4]
  [ 5  6  7  8  9]
  [10 11 12 13 14]]

 [[15 16 17 18 19]
  [20 21 22 23 24]
  [25 26 27 28 29]]]

第一个参数筛选出了:

[[ 0  1  2  3  4]
  [ 5  6  7  8  9]
  [10 11 12 13 14]]

在此基础之上,第二个参数筛选了所有行,第三个参数是筛选了列下标为0、1的。所以输出结果为:

[[[ 0  1]
  [ 5  6]
  [10 11]]]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1558043.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言到 SQL 的曙光:我们准备好了吗?

发布于:2024 年 10 月 08 日 各位读者,国庆假期已过,我们打工人要开启奋斗新征程了,今天小编也是刚上班假期综合征还没过去,就被抓过来读论文,还好我在假期没闲着,整理了几篇关于 NL2SQL 的最新…

Spring与Spring Boot之间的区别

Spring和Spring Boot是用于开发Java企业应用的两个主流框架。虽然它们都属于Spring生态系统的一部分,但是它们各自有不同的使用场景和特点。 在本文中,我们将探讨Spring与Spring Boot之间的差异,针对他们之间特性的差异,做一个详…

李沐 X 动手学深度学习 深度学习介绍 学习笔记

x轴是不同的模式:符号学---概率模型---机器学习y轴是我们想做的东西(问题领域):感知(了解这是什么东西,能看见这个物体)---(做)推理(基于我看到的东西想象未来…

dvwa:暴力破解、命令注入、csrf全难度详解

暴力破解 easy模式 hydra -L /usr/share/wordlists/SecLists-master/Usernames/top-usernames-shortlist.txt -P /usr/share/wordlists/SecLists-master/Passwords/500-worst-passwords.txt 192.168.72.1 http-get-form "/dvwa/vulnerabilities/brute/:username^USER^&…

RED HAT断电重启报:“Failed to open \EFI\redhat\ grubx64.efi- Not Found“

RED HAT断电重启报错:"Failed to open \EFI\redhat\ grubx64.efi- Not Found"的解决办法。 问题:服务器断电重启导致,文件丢失无法正常启动操作系统。 解决方案: 1、准备一个Red Hat系统镜像或者启动盘挂载到服务器上&…

【AI学习】Mamba学习(五):《HiPPO: Recurrent Memory with Optimal Polynomial Projections》

SSM之后,就需要接着学习HiPPO了。 《HiPPO: Recurrent Memory with Optimal Polynomial Projections》 论文地址:https://arxiv.org/abs/2008.07669 摘要 从连续数据中学习的一个核心问题是,随着更多数据的处理,以增量方式表示累…

YOLO11训练自己的数据集(吸烟、跌倒行为检测)

YOLO11训练自己的数据集(吸烟、跌倒行为检测) 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用YOLO11训练自己的数据集进行吸烟、跌倒行为检测准备数据进行训练进行预测进行验证 参考文献 前言 由于本人水平有限,难免出现错漏…

柯桥外语培训韩语学习考级韩语中TOPIK常用语法表达

-기 위해서는 -는 것이 좋다 为了......,......比较好 -는 것보다는 -는 것이 좋다 比起......,......比较好 -(으)려면 -아/어/야 한다 如果想......的话,得...... -왜냐하면 -기 때문이다 因为...... -그 이유는 -기 때문이다 理由是…

RabbitMQ快速入手

核心概念 界⾯上的导航栏共分6部分,这6部分分别是什么意思呢? 我们先看看RabbitMQ的⼯作流程: RabbitMQ是⼀个消息中间件,也是⼀个⽣产者消费者模型.它负责接收,存储并转发消息. Producer和Consumer Producer: ⽣产者,是RabbitMQServer的客⼾端,向RabbitMQ发送消息 Consume…

PDF处理技巧:Windows电脑如何选择合适的 PDF 编辑器

您可以阅读本文以了解用于在 PC 上编辑 PDF 的顶级免费软件,而无需花费任何费用即可轻松进行快速编辑、拆分、合并、注释、转换和共享您的 PDF。 PDF 或可移植文档文件是由 Adobe 创建的一种多功能文件格式。它可以帮助您轻松可靠地交换文档,无论相关方…

毕业设计 | ESP32-Album 开源 AIoT 智能云相框,支持 Wi-Fi 无线图传,平替小米电子相册...

数码相框主要由三个部分组成: LCD液晶显示屏,ESP32主控板和外框 ESP32-Album 数码相框 ESP32-Album 数码相框是一款基于乐鑫 ESP32-P4 芯片开发的高性能电子相册。凭借ESP32-P4 强大的图像及音视频处理能力,该设备能够实现照片、视频和音乐的播放&#x…

ELK中L的filebeat配置及使用(超详细)

上一次讲解了如何在linux服务器上使用docker配置ELK中的E和K,这期着重讲解一下L怎么配置。 首先L在elk中指的是一个数据处理管道,可以从多种来源收集数据,进行处理和转换,然后将数据发送到 Elasticsearch。L的全称就是&#xff1…

【实践】快速学会使用阿里云消息队列RabbitMQ版

文章目录 1.场景简介2.实验架构3.实验流程3.创建实验资源4.创建阿里云AccessKey5.创建静态用户名密码6.创建Vhost、Exchange、Queue并绑定关系6.1、Vhost 的作用6.2、创建Vhost6.3、Exchange 的作用6.4、创建Exchange6.5、Queue 的作用6.6、创建Queue6.7、创建Exchange和Queue的…

鸿蒙--知乎评论

这里我们将采用组件化的思想进行开发 拆解组件 pages下,新建ZhiHu的文件pages下,新建components, 里面新建 HmNavBar和HmCommentItem components/HmNavBar.ets Entry Component struct HmNavBar {title: string 标题build() {Row() {// 返回键Row() {I…

Kubernetes(K8s)部署

主机名ip角色docker-harbor.revkarl.org172.25.254.250harbor仓库k8s-master172.25.254.100master,k8s集群控制节点k8s-node1172.25.254.10worker,k8s集群工作节点k8s-node2172.25.254.20worker,k8s集群工作节点 注意: 所有节点禁…

毕设分享 基于python的搜索引擎设计与实现

文章目录 0 简介1 课题简介2 系统设计实现2.1 总体设计2.2 搜索关键流程2.3 推荐算法2.4 数据流的实现 3 实现细节3.1 系统架构3.2 爬取大量网页数据3.3 中文分词3.4 相关度排序第1个排名算法:根据单词位置进行评分的函数第2个排名算法:根据单词频度进行…

国内知名人工智能AI大模型专家培训讲师唐兴通讲授AI办公应用人工智能在营销与销售过程中如何应用数字化赋能

AI如火如荼,对商业与社会影响很大。 目前企业广泛应用主要是在营销、销售方向,提升办公效率等方向。 从喧嚣的AI导入营销与销售初步阶段,那么当下,领先的组织与个人现在正在做什么呢? 如何让人性注入冷冰冰的AI&…

Android Studio New里面没有New Flutter Project

跟着Flutter中文网的配置教程,安装好了flutter,在Android studio里面也安装了dart和flutter的插件。重启后还是在FIle->New里面没有显示New Flutter Project。 反复卸载重装dart和flutter插件好几次,依然没有效果。 原来是没有把Android APK Suppor…

Keil 5 在编译代码时出现CPU占用过高、伴随出现keil卡顿未响应的问题解决办法

问题背景: 在使用keil 5编译程序的时候,经常出现CPU占用100%,并且伴随出现keil卡顿未响应情况。 如下图所示: 解决方法1: 修改keil的多线程编译设置,减少编译的线程数或者不使用多线程编译(编译…

大模型从入门到应用——LangChain:模型(Models)-[大型语言模型(LLMs):基础知识!

LangChain系列文章: 基础知识快速入门 安装与环境配置链(Chains)、代理(Agent:)和记忆(Memory)快速开发聊天模型 模型(Models) 基础知识大型语言模型(LLMs&a…