一周學會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.pswp.cn/web/78725.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78725.shtml
英文地址,請注明出處:http://en.pswp.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…