一周学会Pandas2 Python数据处理与分析-Pandas2数据类型转换操作

锋哥原创的Pandas2 Python数据处理与分析 视频教程:  

2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

Pandas 提供了灵活的方法来处理数据类型转换,以下是常见操作及代码示例:

1. 查看数据类型

import pandas as pddf = pd.DataFrame({'A': ['1', '2', '3'],'B': [4, 5, 6],'C': ['2025-01-01', '2025-02-01', '2025-03-01']
})print(df.dtypes)
# 输出:
# A    object
# B     int64
# C    object

2. 使用 astype() 转换类型

基本转换:

df['A'] = df['A'].astype(int)    # 转换为整数
df['B'] = df['B'].astype(float)  # 转换为浮点数

运行结果:

3. 使用 pd.to_numeric() 处理数值转换

to_numeric()方法详解:

pandas.to_numeric(arg, errors='raise', downcast=None
)

参数说明:

参数类型说明
argSeries, list, 1D数组需要转换的输入数据
errors{'ignore', 'raise', 'coerce'}, 默认 'raise'控制无效值的处理方式: - 'raise': 遇到非数值字符报错(默认) - 'coerce': 将无效值转为 NaN - 'ignore': 保留原值,不转换
downcast{'integer', 'signed', 'unsigned', 'float'}, 默认 None降低内存占用: - 'integer'/'signed'/'unsigned': 寻找最小整数类型(如 int8, int16) - 'float': 寻找最小浮点类型(如 float32

使用 errors='coerce' 避免转换失败导致程序中断。

import pandas as pd
s = pd.Series(['1', '2', 'apple', '4'])
s_numeric = pd.to_numeric(s, errors='coerce')  # 无效值转为 NaN
# 输出: [1.0, 2.0, NaN, 4.0]s_ignore = pd.to_numeric(s, errors='ignore')   # 保留原数据

to_numeric函数中的downcast参数用于控制数值类型的转换,可以减少内存使用量,同时保持数据的准确性。

import pandas as pds = pd.Series([1.0, 2.0, 3.0])
s = pd.to_numeric(s, downcast='integer')  # 转换为最小整数类型 (int8/int16/...)

4. 日期时间转换to_datetime()

import pandas as pddf = pd.DataFrame({'A': ['1', '2', '3'],'B': [4, 5, 6],'C': ['2025-01-01', '2025-02-01', 'ccc']
})
df['C'] = pd.to_datetime(df['C'],errors='coerce')  # 转换为 datetime 类型

5. 处理缺失值与类型推断

填充缺失值后转换:

import pandas as pddf = pd.DataFrame({'A': ['1', '2', '3'],'B': [4, 5, 6],'C': ['2025-01-01', '2025-02-01', 'ccc']
})
df['D'] = ['10', None, '30']
df['D'] = df['D'].fillna(0).astype(int)  # 填充 NaN 后转为整数

Pandas可以用以下方法智能地推断各列的数据类型,会返回一个按推断修改后的DataFrame。

import pandas as pddf = pd.DataFrame({'A': ['1', '2', '3'],'B': [4, 5, 6]
})
df = df.convert_dtypes()  # 自动推断更合适的数据类型

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM损失函数面试会问到的

介绍一下KL散度 KL(Kullback-Leibler散度衡量了两个概率分布之间的差异。其公式为: D K L ( P / / Q ) − ∑ x ∈ X P ( x ) log ⁡ 1 P ( x ) ∑ x ∈ X P ( x ) log ⁡ 1 Q ( x ) D_{KL}(P//Q)-\sum_{x\in X}P(x)\log\frac{1}{P(x)}\sum_{x\in X}…

基于CBOW模型的词向量训练实战:从原理到PyTorch实现

基于CBOW模型的词向量训练实战:从原理到PyTorch实现 在自然语言处理(NLP)领域,词向量是将单词映射为计算机可处理的数值向量的重要方式。通过词向量,单词之间的语义关系能够以数学形式表达,为后续的文本分…

Linux——进程终止/等待/替换

前言 本章主要对进程终止,进程等待,进程替换的详细认识,根据实验去理解其中的原理,干货满满! 1.进程终止 概念:进程终止就是释放进程申请的内核数据结构和对应的代码和数据 进程退出的三种状态 代码运行…

iOS开发架构——MVC、MVP和MVVM对比

文章目录 前言MVC(Model - View - Controller)MVP(Model - View - Presenter)MVVM(Model - View - ViewModel) 前言 在 iOS 开发中,MVC、MVVM、和 MVP 是常见的三种架构模式,它们主…

0506--01-DA

36. 单选题 在娱乐方式多元化的今天,“ ”是不少人(特别是中青年群体)对待戏曲的态度。这里面固然存在 的偏见、难以静下心来欣赏戏曲之美等因素,却也有另一个无法回避的原因:一些戏曲虽然与观众…

关于Java多态简单讲解

面向对象程序设计有三大特征,分别是封装,继承和多态。 这三大特性相辅相成,可以使程序员更容易用编程语言描述现实对象。 其中多态 多态是方法的多态,是通过子类通过对父类的重写,实现不同子类对同一方法有不同的实现…

【Trea】Trea国际版|海外版下载

Trea目前有两个版本,海外版和国内版。‌ Trae 版本差异 ‌大模型选择‌: ‌国内版‌:提供了字节自己的Doubao-1.5-pro以及DeepSeek的V3版本和R1版本。海外版:提供了ChartGPT以及Claude-3.5-Sonnet和3.7-Sonnt. ‌功能和界面‌&a…

Missashe考研日记-day33

Missashe考研日记-day33 1 专业课408 学习时间:2h30min学习内容: 今天开始学习OS最后一章I/O管理的内容,听了第一小节的内容,然后把课后习题也做了。知识点回顾: 1.I/O设备分类:按信息交换单位、按设备传…

链表的面试题3找出中间节点

来来来,接着继续我们的第三道题 。 解法 暴力求解 快慢指针 https://leetcode.cn/problems/middle-of-the-linked-list/submissions/ 这道题的话,思路是非常明确的,就是让你找出我们这个所谓的中间节点并且输出。 那这道题我们就需要注意…

linux磁盘介绍与LVM管理

一、磁盘基本概述 GPT是全局唯一标识分区表的缩写,是全局唯一标示磁盘分区表格式。而MBR则是另一种磁盘分区形式,它是主引导记录的缩写。相比之下,MBR比GPT出现得要更早一些。 MBR 与 GPT MBR 支持的磁盘最大容量为 2 TB,GPT 最大支持的磁盘容量为 18 EB,当前数据盘支持…

突破测试环境文件上传带宽瓶颈!React Native 阿里云 OSS 直传文件格式问题攻克二

上一篇我们对服务端和阿里云oss的配置及前端调用做了简单的介绍,但是一直报错。最终判断是文件格式问题,通常我们在reactnative中用formData上传, formData.append(file, {uri: file, name: nameType(type), type: multipart/form-data});这…

Spring Boot 中 @Bean 注解详解:从入门到实践

在 Spring Boot 开发中,Bean注解是一个非常重要且常用的注解,它能够帮助开发者轻松地将 Java 对象纳入 Spring 容器的管理之下,实现对象的依赖注入和生命周期管理。对于新手来说,理解并掌握Bean注解,是深入学习 Spring…

TCP 协议设计入门:自定义消息格式与粘包解决方案

目录 一、为什么需要自定义 TCP 协议? TCP粘包问题的本质 1.1 粘包与拆包的定义 1.2 粘包的根本原因 1.3 粘包的典型场景 二、自定义消息格式设计 2.1 协议结构设计 方案1:固定长度协议 方案2:分隔符标记法 方案3:长度前…

了解一下OceanBase中的表分区

OceanBase 是一个高性能的分布式关系型数据库,它支持 SQL 标准的大部分功能,包括分区表。分区表可以帮助管理大量数据,提高查询效率,通过将数据分散到不同的物理段中,可以减少查询时的数据扫描量。 在 OceanBase 中操…

多线程网络编程:粘包问题、多线程/多进程服务器实战与常见问题解析

多线程网络编程:粘包问题、多线程/多进程服务器实战与常见问题解析 一、TCP粘包问题:成因、影响与解决方案 1. 粘包问题本质 TCP是面向流的协议,数据传输时没有明确的消息边界,导致多个消息可能被合并(粘包&#xf…

大模型主干

1.什么是语言模型骨架LLM-Backbone,在多模态模型中的作用? 语言模型骨架(LLM Backbone)是多模态模型中的核心组件之一。它利用预训练的语言模型(如Flan-T5、ChatGLM、UL2等)来处理各种模态的特征,进行语义…

[创业之路-350]:光刻机、激光器、自动驾驶、具身智能:跨学科技术体系全景解析(光-机-电-材-热-信-控-软-网-算-智)

光刻机、激光器、自动驾驶、具身智能四大领域的技术突破均依赖光、机、电、材、热、信、控、软、网、算、智十一大学科体系的深度耦合。以下从技术原理、跨学科融合、关键挑战三个维度展开系统性分析: 一、光刻机:精密制造的极限挑战 1. 核心技术与学科…

SVTAV1 编码函数 svt_aom_is_pic_skipped

一 函数解释 1.1 svt_aom_is_pic_skipped函数的作用是判断当前图片是否可以跳过编码处理。 具体分析如下 函数逻辑 参数说明:函数接收一个指向图片父控制集的指针PictureParentControlSet *pcs, 通过这个指针可以获取与图片相关的各种信息,用于判断是否跳…

【Redis新手入门指南】从小白入门到日常使用(全)

文章目录 前言redis是什么?定义原理与特点与MySQL对比 Redis安装方式一、Homebrew 快速安装 Redis(推荐)方式二、源码编译安装redisHomebrew vs 源码安装对比 redis配置说明修改redis配置的方法常见redis配置项说明 redis常用命令redis服务启…

Linux grep 命令详解及示例大全

文章目录 一、基本语法二、常用选项及示例1. 基本匹配:查找包含某字符串的行2. 忽略大小写匹配 -i3. 显示行号 -n4. 递归查找目录下的文件 -r 或 -R5. 仅显示匹配的字符串 -o6. 使用正则表达式 -E(扩展)或 egrep7. 显示匹配前后行 -A, -B, -C…