政安晨:快速学会~机器学习的Pandas数据技能(六)(数据类型和缺失值)

在数据分析中,了解数据的类型是非常重要的。数据类型决定了可以对数据进行哪些操作,以及如何对数据进行分析和处理。


常用的数据类型包括:

  1. 数值型数据:包括整数(int)和浮点数(float)。整数用于表示没有小数部分的数字,而浮点数用于表示带有小数部分的数字。

  2. 字符型数据:用于表示文本数据。字符型数据可以是单个字符(char)或字符串(string)。

  3. 逻辑型数据:用于表示真假值。逻辑型数据只有两个取值:True和False。

此外,还有一种特殊的数据类型称为缺失值。缺失值(Missing Values)指的是数据中的空值或无效值。缺失值在数据分析中很常见,可能是由于测量或记录错误导致的。

处理缺失值是数据分析的一个重要部分。常见的处理方法包括:

  1. 删除缺失值:如果缺失值的比例很小,可以选择删除包含缺失值的行或列。

  2. 替换缺失值:可以用特定的值(如均值、中位数或众数)替换缺失值,以保持数据整体的统计特性。

  3. 插值:以一定的方式推断缺失值,并用推断值来填充缺失值。

通过对数据类型和缺失值的了解,可以更好地理解和分析数据,从而做出准确的决策。


这是咱们这个系列文章的最后一篇,演练的数据还是从我的第三篇文章中下载:

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)icon-default.png?t=N7T8https://blog.csdn.net/snowdenkeke/article/details/136081348

开始

在这篇文章中,你将学习如何在DataFrame或Series中进行数据类型的调查。你还将学习如何查找和替换条目。

数据类型

数据帧(DataFrame)或系列(Series)中列的数据类型被称为dtype。

您可以使用dtype属性来获取特定列的类型。例如,我们可以获取reviews数据帧中price列的dtype。

还记得吗,依旧是这段代码:

import pandas as pd
reviews = pd.read_csv("./winemag-data-130k-v2.csv", index_col=0)
pd.set_option('display.max_rows', 5)

咱们加载了数据集之后,看一下它的数据类系:

reviews.price.dtype

另外,dtypes属性返回DataFrame中每一列的数据类型:

reviews.dtypes

数据类型告诉我们一些关于pandas如何在内部存储数据的信息。float64意味着它使用64位浮点数;int64表示使用类似大小的整数,依此类推。

要记住的一个特殊情况(在这里非常明显)是,完全由字符串组成的列不会获得自己的类型;相反,它们被赋予了对象类型。

可以使用astype()函数将一种类型的列转换为另一种类型,只要这种转换有意义。例如,我们可以将points列从其现有的int64数据类型转换为float64数据类型:

reviews.points.astype('float64')

DataFrame或Series索引也有自己的数据类型(dtype):

reviews.index.dtype

Pandas还支持更特殊的数据类型,如分类数据和时间序列数据。由于这些数据类型很少使用,我们将在本教程的后面部分省略它们。

缺失数据

缺失值的条目被赋予NaN的值,NaN代表“非数字”。出于技术原因,这些NaN值始终是float64数据类型。

Pandas提供了一些特定于缺失数据的方法。要选择NaN条目,可以使用pd.isnull()(或其伴侣pd.notnull())。这是为以下方式而设计的:

reviews[pd.isnull(reviews.country)]

替换缺失值是一种常见操作。Pandas提供了一个非常方便的方法来解决这个问题:fillna()。fillna()提供了几种不同的策略来处理这样的数据。例如,我们可以简单地将每个NaN替换为"Unknown":

reviews.region_2.fillna("Unknown")

或者我们可以使用在给定记录之后的第一个非空值填充每个缺失值。这被称为后向填充策略。replace()方法在这里值得一提,因为它对于替换数据集中给定某种哨兵值的缺失数据非常方便:比如“未知”,“不公开”,“无效”等等。


我们这个系列的文章暂且告一段落,大家浏览下这个系列的文章,就可以对Pandas有个概况性了解啦!

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

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

相关文章

CentOS 7安装Nodejs

说明:本文介绍如何在云服务器上CentOS 7操作系统上安装Nodejs。以及安装过程中遇到的问题。 下载压缩包&解压 首先,先去官网下载Linux版本的Node。 将下载下来的压缩包,上传到云服务器上,解压。配置环境变量。 &#xff08…

【Python】基于动态残差学习的堆叠式LSTM模型和传统BP在股票预测中的应用

1. 前言 本论文探讨了长短时记忆网络(LSTM)和反向传播神经网络(BP)在股票价格预测中的应用。首先,我们介绍了LSTM和BP在时间序列预测中的基本原理和应用背景。通过对比分析两者的优缺点,我们选择了LSTM作为…

vscode +markdown 的安装和使用

文章目录 前言一、vscode markdown 是什么?1.vscode是什么?2.markdown 是什么? 二、安装步骤1.下载2.安装 三、安装插件1.安装 Markdown All in One2.安装 Markdown Preview Enhanced3. Paste Image v1.0.44.LimfxCodeExv0.7.105.Code Spell …

4.2 Verilog 过程赋值

关键词:阻塞赋值,非阻塞赋值,并行 过程性赋值是在 initial 或 always 语句块里的赋值,赋值对象是寄存器、整数、实数等类型。 这些变量在被赋值后,其值将保持不变,直到重新被赋予新值。 连续性赋值总是处…

C语言笔试题之求出二叉树的最大深度(递归解决)

实例要求: 1、给定一个二叉树 root ,返回其最大深度;2、二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数; 案例展示: 实例分析: 1、判断根节点是否为空;2、分别递归处理左…

阿里云幻兽帕鲁服务器有用过的吗?搭建简单啊

玩转幻兽帕鲁服务器,幻兽帕鲁Palworld多人游戏专用服务器一键部署教程,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云百科…

AR特效自研AI算法技术解决方案

在当今这个高速发展的数字化时代,增强现实(AR)技术已经成为企业创新和市场竞争的重要手段。美摄科技凭借对AI技术的深厚积累,为企业提供了一套创新的AR特效自研AI算法技术解决方案,旨在满足企业在AR领域的多元化需求。…

Mysql-数据库压力测试

安装软件 官方软件 安装插件提供了更多的监听器选项 数据库驱动 数据库测试 配置 这里以一个简单的案例进行,进行连接池为10,20,30的梯度压测: select * from tb_order_item where id 1410932957404114945;新建一个线程组 新增一个连接池配置 新建一…

公众号取关粉丝获取方法1

一、前言 你是不是还在苦恼,每日关注那么多新人,为何同样也会有那么多人取关,到底是哪里出了问题,这样一个困扰公众号主的一个世纪难题,今日小编就要和大家揭晓,当然,这篇文章可能对于不是公众…

JAVA设计模式之享元模式详解

享元模式 1 享元模式介绍 享元模式 (flyweight pattern) 的原始定义是:摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,从而让我们能在有限的内存容量中载入更多对象。 从这个定义中你可以发现,享元模…

【动态规划】【C++算法】2518. 好分区的数目

作者推荐 【动态规划】【前缀和】【C算法】LCP 57. 打地鼠 本文涉及知识点 动态规划汇总 LeetCode:2518. 好分区的数目 给你一个正整数数组 nums 和一个整数 k 。 分区 的定义是:将数组划分成两个有序的 组 ,并满足每个元素 恰好 存在于 某一个 组中…

Ribbon全方位解析:构建弹性的Java微服务

第1章 引言 大家好,我是小黑,咱们今天聊聊Ribbon,这货是个客户端负载均衡工具,用在Spring Cloud里面能让咱们的服务调用更加灵活和健壮。负载均衡,听起来挺高大上的,其实就是把外界的请求平摊到多个服务器上,避免某个服务器压力太大,其他的却在那儿闲着。 Ribbon的牛…

SFML(1) | 自由落体小球

SFML(1) | 自由落体小球 文章目录 SFML(1) | 自由落体小球1. 目的2. SFML 适合做图形显示的理由3. 使用 SFML - 构建阶段4. 使用 SFML - C 代码5. 运行效果6. 总结7. References 1. 目的 通过一些简单的例子(2D小游戏的基础代码片段), 来学习…

SECS/GEM300需要实现哪些内容

GEM300实现设备全自动化,也是金南瓜已经全面支持功能,作为国内首家和最好的300mm标准软件。 GEM300包含E4、E5、E30、E37、E39、E40、E84、E87、E90、E94、E116等 CJob全称Conrtol Job 1. 控制设备作业的控制 2. 包括队列、开始、暂停、继续、完成等等…

SpringBoot WebSocket客户端与服务端一对一收发信息

依赖 <!--websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>配置类 Configuration public class WebSocketConfig {Bean //方法返回值交…

尚硅谷 Vue3+TypeScript 学习笔记(上)

目录 一、创建Vue3工程 1.1. 【基于 vue-cli 创建】 1.2. 【基于 vite 创建】(推荐) 1.3. 【一个简单的效果】 二、Vue3核心语法 2.1. 【OptionsAPI 与 CompositionAPI】 Options API 的弊端 Composition API 的优势 2.2. 【拉开序幕的 setup】 setup 概述 setup 的…

无人机系统组装与调试,多旋翼无人机组装与调试技术详解,无人机飞控系统原理

多旋翼无人机飞控系统的组装 在开始组装前&#xff0c;确保您已准备好所有必要的工具和材料。这包括螺丝刀、电烙铁、焊台、杜邦线、飞控板、GPS模块、电机、桨叶等。 飞控安装 安全开关安装&#xff0c;将安全开关固定在机架上。将安全开关的线插到飞控SWITCH插口上。 电调…

C语言中的数据类型-强转

强制类型转换 概念&#xff1a;将某种类型的数据转化我们需要的数据类型&#xff0c;注意强制类型转化是临时强转&#xff0c;不会改变本身的数据类型。 强转又分为显式强转和隐式转化 显示强转是按照我们的要求进行转化 格式&#xff1a;(需要转化数据类型)变量名 #inclu…

【新书推荐】7.2节 寄存器寻址方式和直接寻址方式

本节内容&#xff1a;寄存器寻址方式的操作数在CPU内部的寄存器中&#xff0c;指令中指定寄存器号。 ■寄存器寻址方式&#xff1a;16位的寄存器操作数可以是AX、BX、CX、DX、SI、DI、SP、BP共计8个16位通用寄存器&#xff1b;8位寄存器操作数可以是AH、AL、BH、BL、CH、CL、D…

排序算法---归并排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 归并排序是一种常见的排序算法&#xff0c;它采用了分治的思想。它将一个待排序的数组递归地分成两个子数组&#xff0c;分别对两个子数组进行排序&#xff0c;然后将排好序的子数组合并成一个有序数组。 具体的归并排序过…