目錄
簡介
spare data的例子
sparsearray
sparsedtype
sparse的屬性
sparse的計算
sparseseries 和 sparsedataframe
簡介
如果資料中有很多nan的值,存儲起來就會浪費空間。為了解決這個問題,pandas引入了一種叫做sparse data的結構,來有效的存儲這些nan的值。
spare data的例子
我們建立一個數組,然後将其大部分資料設定為nan,接着使用這個數組來建立sparsearray:
這裡的dtype類型是sparse[float64, nan],它的意思是數組中的nan實際上并沒有存儲,隻有非nan的資料才被存儲,并且這些資料的類型是float64.
sparsearray
<code>arrays.sparsearray</code> 是一個 extensionarray ,用來存儲稀疏的數組類型。
使用 numpy.asarray() 可以将其轉換為普通的數組:
sparsedtype
sparsedtype 表示的是spare類型。它包含兩種資訊,第一種是非nan值的資料類型,第二種是填充時候的常量值,比如nan:
可以像下面這樣構造一個sparsedtype:
可以指定填充的值:
sparse的屬性
可以通過 .sparse 來通路sparse:
sparse的計算
np的計算函數可以直接用在sparsearray中,并且會傳回一個sparsearray。
sparseseries 和 sparsedataframe
sparseseries 和 sparsedataframe在1.0.0 的版本時候被删除了。取代他們的是功能更強的sparsearray。
看下兩者的使用上的差別:
如果是scipy 中的sparse 矩陣,那麼可以使用 dataframe.sparse.from_spmatrix() :
本文已收錄于 http://www.flydean.com/13-python-pandas-sparse-data/ 最通俗的解讀,最深刻的幹貨,最簡潔的教程,衆多你不知道的小技巧等你來發現!