Class 09 - Data Frame和查看数据

2023-11-05

Class 09 - Data Frame和查看数据

DataFrame

在我们开始做数据清洗或者检查数据是否存在偏差之前,我们需要先将我们的数据转换成合适的格式方便我们做后续的处理。

这就要说到DataFrame了。因为他很像电子表格或 SQL 表。

这是 R 中通过view来显示的DataFrame的示例:
在这里插入图片描述

  • 有列、行和带有数据的单元格。

  • 列包含一个变量,行具有一组与每一列匹配的值。

  • 每一列中的数据都是相同的数据类型。

其实把他当成一个表格来理解就可以了

tibbles

tidyverse 可以使处理数据变得更容易

  • 首先,tibbles 永远不会改变输入的数据类型。 他们不会将您的字符串更改为因子或其他任何内容。 Tibbles 也从不更改变量的名称,并且从不创建行名称。

  • tibbles 使 R 中的打印更容易。 它们不会意外地使您的控制台超载,因为它们会自动设置为仅拉出前 10 行和适合屏幕的尽可能多的列。 在处理大量数据时非常有用。

下面我们使用diamonds数据集,来演示。 该数据集是 tidyverse 中 ggplot2 包的一部分。 所以可以首先加载 ggplot2。如果没有安装的ggplot2,可以使用 install.packages(ggplot2 )来进行安装就可以找到diamonds数据集了。

# 加载包
library(ggplot2)
# 加载数据集
data(diamonds)
# 查看数据集
diamonds

在这里插入图片描述
可以看到,这个数据集包含53930行和10个列。

由于之前已经安装过tidyverse 功能包,RStudio默认使用tibbles来输出数据,所以我们看到的数据之显示了前10行的数据。

head()

一般在导入数据之后,都会习惯的查看一下导入的数据是否是正确的。
这时候可以使用head()函数,他会之输出数据的前6行。这样浏览起来会更便捷一些。


# 加载包
library(ggplot2)

# 加载数据集
data(diamonds)

# 查看数据集
head(diamonds)

在这里插入图片描述

str()

str()函数可以帮我们查看Dataframe中,每一列数据的数据类型,因子,包含的不同数据内容,以一个类似横向表的方式来展示。

# 加载包
library(ggplot2)

# 加载数据集
data(diamonds)

# 查看数据集
str(diamonds)

在这里插入图片描述

colnames()

当我们只需要查看每一列的名字,或者需要提取每一列的列名的时候,可以使用colnames()函数来提取每一列的名字。


# 加载包
library(ggplot2)

# 加载数据集
data(diamonds)

# 查看数据集
colnames(diamonds)

在这里插入图片描述

mutate()

mutate() 函数可以很便捷的帮我们在Dataframe中创建新的列,比如需要对现有的某一列数据进行计算,但是又不改变原来列中的数据,这时候就需要我们在数据中添加一个新的列来储存计算后的新数据。

mutate() 是 tidyverse 中 dplyr 包的一部分。 因此,在使用mutate() 之前,需要先加载 tidyverse 功能包。

例如,添加一个新列new_clo。 我们需要做的就是输入 mutate(),然后括号中先传入数据集diamonds的名称,然后再输入创建新列的名new_clo 并用=链接计算表达式z*100,中间用逗号分隔。


# 加载包
library(tidyverse)

# 加载数据集
data(diamonds)

# 查看数据集
mutate(diamonds,new_clo = z*100)

在这里插入图片描述
在最右侧的一列就是我们新添加的列new_clo。
添加新的列,一般都是默认添加到末尾最右侧。
创建新列时不会丢失任何列。 数据的其余部分仍然相同。

创建 Dataframe

在R语言中如何创建Dataframe格式数据呢?
只需要先创建机组不同的数据,数组的长度要一致,然后通过data.frame()函数,把他们组合到一起就完成了。

举个例子:

# 创建id
id <- c(1:10)

# 创建名字
name <- c("John Mendes", "Rob Stewart", "Rachel Abrahamson", "Christy Hickman", "Johnson Harper", "Candace Miller", "Carlson Landy", "Pansy Jordan", "Darius Berry", "Claudia Garcia")

# 创建职位名称
job_title <- c("Professional", "Programmer", "Management", "Clerical", "Developer", "Programmer", "Management", "Clerical", "Developer", "Programmer")

# 创建为Dataframe
employee <- data.frame(id, name, job_title)

# 查看数据
employee

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Class 09 - Data Frame和查看数据 的相关文章

  • 如何实现 __eq__ 进行集合包含测试?

    我遇到了一个问题 我将一个实例添加到一个集合中 然后进行测试以查看该对象是否存在于该集合中 我已经覆盖了 eq 但在包含测试期间不会调用它 我必须覆盖吗 hash 反而 如果是这样 我将如何实施 hash 鉴于我需要对元组 列表和字典进行哈
  • 如何使用 conda 在一行中安装多个包?

    我需要使用 conda 安装以下多个软件包 我不确定 conda forge 是什么 有些使用 conda forge 有些不使用它 是否可以将它们安装成一行而不需要一一安装 谢谢 conda install c conda forge d
  • 使用应用程序脚本将 MS Word 文件(保存在云端硬盘中)转换为 Google 文档

    我被某些事情困住了 找不到解决办法 有没有办法使用文件 url 或 id 将存储在 Google Drive 中的 MS Word 文件转换为 Google 文档 我目前有一个电子表格 其中包含文件的网址 或者 也可以使用 python 脚
  • Paramiko SSHException 通道已关闭

    我一直在使用 Paramiko 在 Linux Windows 机器上发送命令 它可以很好地在 Ubuntu 机器上远程执行测试 但是 它不适用于 Windows 7 主机 以下是我收到的错误 def unit for event self
  • 使用多级解决方案计算二维网格中的最近邻

    我有一个问题 在 x y 大小的网格中 我提供了一个点 并且我需要找到最近的邻居 在实践中 我试图在 pygame 中找到距离光标最近的点 该点跨越颜色距离阈值 计算如下 sqrt rgb1 0 rgb2 0 2 rgb1 1 rgb2 1
  • 通用详细视图 ProfileView 必须使用对象 pk 或 slug 调用

    我是 Django 2 0 的新手 在访问我的个人资料页面视图时收到此错误 它适用于像这样的网址path users
  • 如何在Python代码中查找列号

    简短问题 当按上述方式调用函数时 我可以找到行号here https stackoverflow com questions 3056048 filename and line number of python script 同样 如何找到
  • Python——捕获异常的效率[重复]

    这个问题在这里已经有答案了 可能的重复 Python 常见问题解答 异常有多快 https stackoverflow com questions 8107695 python faq how fast are exceptions 我记得
  • Django 模型字段默认基于另一个模型字段

    我使用 Django Admin 构建一个管理站点 有两张表 一张是ModelA其中有数据 另一个是ModelB里面什么也没有 如果一个模型字段b b in ModelB为None 可以显示在网页上 值为ModelA的场a b 我不知道该怎
  • Tensorflow 不分配完整的 GPU 内存

    Tensorflow 默认分配所有 GPU 内存 但我的新设置实际上只有 9588 MiB 11264 MiB 我预计大约 11 000MiB 就像我的旧设置一样 张量流信息在这里 from tensorflow python client
  • 返回上个月的日期时间对象

    如果 timedelta 在它的构造函数中有一个月份参数就好了 那么最简单的方法是什么 EDIT 正如下面指出的那样 我并没有认真考虑这一点 我真正想要的是上个月的任何一天 因为最终我只会获取年份和月份 因此 给定一个日期时间对象 返回的最
  • uri 警告中缺少端口:使用 Python OpenCV cv2.VideoCapture() 打开文件时出错

    当我尝试流式传输 ipcam 时 出现了如下所示的错误 tcp 000000000048c640 uri 中缺少端口 警告 打开文件时出错 build opencv modules videoio src cap ffmpeg impl h
  • 如何正确导入主代码和模块中同时使用的模块?

    假设我有一个主脚本 main py 它导入另一个 python 文件import coolfunctions另一个 import chores 现在 假设 Coolfunctions 也使用家务活中的东西 因此我声明import chore
  • 如何使用 django-pyodbc (ubuntu 16.04) 配置数据库设置 Django-MSSQL?

    我是 Django 新手 目前正在尝试使用另一个数据库来保存我的模型 即MS SQL 我的数据库部署在docker容器中 903876e64b67 microsoft mssql server linux bin sh c opt mssq
  • 线性同余生成器 - 如何选择种子和统计检验

    我需要做一个线性同余生成器 它将成功通过所选的统计测试 我的问题是 如何正确选择发电机的数字以及 我应该选择哪些统计检验 我想 均匀性的卡方频率测试 每代收集10 000个号码的方法 将 0 1 细分为10个相等的细分 柯尔莫哥洛夫 斯米尔
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • Python 导入非常慢 - Anaconda python 2.7

    我的 python import 语句变得非常慢 我使用 Anaconda 包在本地运行 python 2 7 导入模块后 我编写的代码运行得非常快 似乎只是导入需要很长时间 例如 我使用以下代码运行了一个 tester py 文件 imp
  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装
  • Python 中的字符串slugification

    我正在寻找 slugify 字符串的最佳方法 蛞蝓 是什么 https stackoverflow com questions 427102 in django what is a slug 我当前的解决方案基于这个食谱 http code

随机推荐

  • UGUI之rectTransform属性

    RectTransform 本文转载自uGUI知识点剖析之RectTransform 一 基本要点 RectTransform继承于Transform 在 Transform 基础上 RectTransform 增加了 轴心 pivot 锚
  • 【文献翻译】构建网络安全知识库的框架-A Framework to Construct Knowledge Base for Cyber Security

    摘要 现在有一些针对不同方面的独立网络安全知识库 在互联网上 也有很多网络安全相关的内容以文字的形式存在 融合这些网络安全相关信息可以是一项有意义的工作 在本文中 我们提出了一个框架来整合现有的网络安全知识库并从文本中提取网络安全相关信息
  • java8日期时间相关

    java8时间相关api 一 java8时间相关api出现的原因 二 LocalDate LocalTime LocalDateTime的使用 1 解释 2 学习点 3 代码示例 三 Instant 1 解释 2 学习点 3 代码示例 四
  • Ubuntu下的CUDA编程(二)

    Ubuntu下cuda编程的基本过程 一 运行程序 按照上一篇文章所述 安装好cuda软件以后 就可以使用 nvcc V 命令查看所用到的编译器版本 本人用版本信息来自 Cuda compilation tools release 3 2
  • python学习——如何求质数/素数

    质数判断 方法一 一个大于1的自然数 除了1和它本身外 不能被其他自然数 质数 整除 2 3 5 7等 换句话说就是该数除了1和它本身以外不再有其他的因数 也就是说 从2到n 1遍历 如果存在一个数是这个整数n的因数 那么它就不是质数 但是
  • docker保存镜像到本地,并加载本地镜像文件

    docker保存镜像到本地 并加载本地镜像文件 1 查看已有的镜像文件 docker images 显示效果如下所示 2 将镜像打包成本地文件 指令 docker save 镜像id gt 文件名 tar docker save 17282
  • COCO数据集的下载、介绍及如何使用(数据载入及数据增广,含代码)

    如何使用COCO数据集 COCO数据集可以说是语义分割等计算机视觉任务中应用较为广泛的一个数据集 具体可以应用到物体识别 语义分割及目标检测等方面 我是在做语义分割方面任务时用到了COCO数据集 但本文主要讲解的是数据载入方面 因此可以通用
  • springboot 微信小程序 对接微信支付功能(完整版)

    微信小程序对接微信支付功能 业务流程时序图 JAVA版 1 项目架构 2 pom xml配置文件 3 小程序账号参数配置类 4 JAVA 通用代码 4 1 工具类 4 1 1 IdGen id生成类 4 1 2 Render 响应结果类 4
  • Springboot

    0 学习目标 了解SpringBoot的作用 掌握java配置的方式 了解SpringBoot自动配置原理 掌握SpringBoot的基本使用 了解Thymeleaf的基本使用 1 了解SpringBoot 在这一部分 我们主要了解以下3个
  • CUDA编程第四章: 全局内存

    前言 本章内容 学习CUDA内存模型 CUDA内存管理 全局内存编程 探索全局内存访问模式 研究全局内存数据布局 统一内存编程 最大限度地提高全局内存吞吐量 在上一章中 你已经了解了线程是如何在GPU中执行的 以及如何通过操作线程束来优化核
  • 【Seq2Seq】压缩填充序列、掩蔽、推理和 BLEU

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Openstack云平台脚本部署之Aodh告警服务配置(十三)

    目录 一 简介 二 部署脚本 三 参考文档 四 源码 五 系列文章 一 简介 Openstack告警服务Aodh负责当收集的数据度量或事件超过所设定的阈值时 会出发报警 从Liberty 版本后从Ceilometer 中拆分出来 独立为单独
  • java把图片url地址转为图片文件并打包压缩下载

    序言 最近做项目时遇到一个需求就是把上传到oss上的图片批量压缩下载 众所周知 上传到oss的图片返回保存的是url地址 而url是无法直接下载成图片的 所有中间需要转一下 下面是我写的一个工具类 纯java操作 不依赖第三方jar有需要的
  • C语言猜数字小游戏

    在大家小时候 肯定玩过猜数字的游戏 那么用代码形式输出的猜数字游戏 大家玩过吗 今天就跟随博主一起来实现这一个小游戏吧 1 我们要先思考的问题是 怎么样才能让计算机随机产生数字呢 这里推荐大家使用一个C语言函数的网站 Cplusplus 里
  • 史上最简单的 SpringCloud 教程

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net forezp article details 81040925 一 spring cl
  • vue 组件样式不生效问题,和如果更改组件样式

    我们现在的编程离不开组件的使用 例如 element ui avue 等 问题 组件的样式太过单一不满足开发的需求 还有的是组件有自己的样式更改但是找不到 解决 深层构造器 css 自带 gt gt gt gt gt gt name col
  • 如何在C#中从同步方法调用异步方法?

    我有一个public async void Foo 方法 我想从同步方法中调用它 到目前为止 我从MSDN文档中看到的所有内容都是通过异步方法调用异步方法 但是我的整个程序不是使用异步方法构建的 这有可能吗 这是从异步方法调用这些方法的一个
  • casperJs的安装

    自己买了vps就是爽 想装什么就装什么 就比如说casperjs 1 首先需要安装它的运行环境phantomjs 将这个git项目clone到自己的vps上 https github com ariya phantomjs 通过查看官方文档
  • Zookeeper实践(四)zookeeper的WEB客户端zkui使用

    前面几篇实践说明了zookeeper如何配置和部署 如何开发 因为大多是后台操作 对于维护和产品项目管理人员来说太抽象 下面介绍一下zookeeper的web客户端使用 一 环境准备 1 既然是客户端 必然得先有一个zookeeper服务
  • Class 09 - Data Frame和查看数据

    Class 09 Data Frame和查看数据 DataFrame tibbles head str colnames mutate 创建 Dataframe DataFrame 在我们开始做数据清洗或者检查数据是否存在偏差之前 我们需要