Pandas 的經常使用數據類型概述

Pandas是Python當中重要的數據分析工具,在進行數據分析時,確保使用正確的數據類型很是重要,不然可能會獲得意想不到的結果或錯誤。對 Pandas 而言,它會在不少狀況下正確地做出數據類型推斷,你能夠繼續進行分析工做,而無需深刻思考該主題。
儘管 Pandas 工做得很好,但在數據分析過程當中的某個時刻,你可能須要將數據從一種類型顯式轉換爲另外一種類型。本文將討論 Pandas 的基本數據類型(即 dtypes),它們如何映射到 python 和 numpy 數據類型,以及從一種 Pandas 類型轉換爲另外一種類型的幾個方式。python

Pandas 的數據類型:數據類型本質上是編程語言用來理解如何存儲和操做數據的內部結構。例如,一個程序須要理解你能夠將兩個數字加起來,好比 5 + 10 獲得 15。或者,若是是兩個字符串,好比「cat」和「hat」,你能夠將它們鏈接(加)起來獲得「cathat」。尚學堂•百戰程序員陳老師指出有關 Pandas 數據類型的一個可能使人困惑的地方是,Pandas、Python 和 numpy 的數據類型之間有一些重疊。git

大多數狀況下,你沒必要擔憂是否應該明確地將熊貓類型強制轉換爲對應的 NumPy 類型。通常來講使用 Pandas 的默認 int64 和 float64 就能夠。我列出此表的惟一緣由是,有時你可能會在代碼行間或本身的分析過程當中看到 Numpy 的類型。
數據類型是在你遇到錯誤或意外結果以前並不會關心的事情之一。不過當你將新數據加載到 Pandas 進行進一步分析時,這也是你應該檢查的第一件事情。
我將使用一個很是簡單的 CSV文件 來講明在 Pandas 中可能會遇到的一些常見的由數據類型致使的錯誤。另外,在 github 上也一個示例 notbook。程序員

使用 lambda,咱們能夠將代碼簡化爲一行,這是很是有效的方法。但我對這種方法有三個主要的意見:若是你只是在學習 Python / Pandas,或者若是未來會有 Python 新人來維護代碼,我認爲更長的函數的可讀性更好。主要緣由是它能夠包含註釋,也能夠分解爲若干步驟。lambda 函數對於新手來講更難以掌握。
其次,若是你打算在多個列上重複使用這個函數,複製長長的 lambda 函數並不方便。
最後,使用函數能夠在使用 read_csv() 時輕鬆清洗數據。我將在文章結尾處介紹具體的使用方法。有些人也可能會爭辯說,其餘基於 lambda 的方法比自定義函數的性能有所提升。但爲了教導新手,我認爲函數方法更好。github

關於Pandas 輔助函數的說明:Pandas 在直白的 astype() 函數和複雜的自定義函數之間有一箇中間地帶。這些輔助函數對於某些數據類型轉換很是有用。
若是你順序讀下來,你會注意到我沒有對日期列或 Jan Units 列作任何事情。這兩種列均可以使用 Pandas 的內置函數(如 pd.to_numeric() 和 pd.to_datetime())進行轉換。
Jan Units 轉換出現問題的緣由是列中包含一個非數字值。若是咱們嘗試使用 astype(),咱們會獲得一個錯誤。
 編程

相關文章
相關標籤/搜索