Pandas中的幾個加速方法,你了解多少?
Pandas 數據統計包的 6 種高效函數
Pandas 也是一個 Python 包,它提供了快速、靈活以及具有顯著表達能力的數據結構, 旨在使處理結構化 (表格化、多維、異構) 和時間序列數據變得既簡單又直觀。
PANDAS
Pandas 適用于以下各類數據:
●具有異構類型列的表格數據,如 SQL 表或 Excel 表
●有序和無序 (不一定是固定頻率) 的時間序列數據
●帶有行/列標簽的任意矩陣數據(同構類型或者是異構類型)
●其他任意形式的統計數據集。事實上,數據根本不需要標記就可以放入 Pandas 結構中
Pandas 擅長處理的類型如下所示:
●容易處理浮點數據和非浮點數據中的 缺失數據(用 NaN 表示)
●大小可調整性: 可以從 DataFrame 或者更高維度的對象中插入或者是刪除列
●顯式數據可自動對齊: 對象可以顯式地對齊至一組標簽內,或者用戶可以簡單地選擇忽略標簽,使 Series、 DataFrame 等自動對齊數據
●靈活的分組功能,對數據集執行拆分-應用-合并等操作,對數據進行聚合和轉換
●簡化將數據轉換為 DataFrame 對象的過程,而這些數據基本是 Python 和 NumPy 數據結構中不規則、不同索引的數據
●基于標簽的智能切片、索引以及面向大型數據集的子設定
●更加直觀地合并以及連接數據集
●更加靈活地重塑、轉置(pivot)數據集
●軸的分級標記 (可能包含多個標記)
●具有魯棒性的 IO 工具,用于從平面文件 (CSV 和 delimited)、 Excel 文件、數據庫中加在數據,以及從 HDF5 格式中保存 / 加載數據
●時間序列的特定功能: 數據范圍的生成以及頻率轉換、移動窗口統計、數據移動和滯后等
read_csv(nrows=n)
大多數人都會犯的一個錯誤是,在不需要.csv 文件的情況下仍會完整地讀取它。如果一個未知的.csv 文件有 10GB,那么讀取整個.csv 文件將會非常不明智,不僅要占用大量內存,還會花很多時間。我們需要做的只是從.csv 文件中導入幾行,之后根據需要繼續導入。
map()
map() 函數根據相應的輸入來映射 Series 的值。用于將一個 Series 中的每個值替換為另一個值,該值可能來自一個函數、也可能來自于一個 dict 或 Series。
apply()
apply() 允許用戶傳遞函數,并將其應用于 Pandas 序列中的每個值。
isin()
lsin () 用于過濾數據幀。Isin () 有助于選擇特定列中具有特定(或多個)值的行。
copy()
Copy () 函數用于復制 Pandas 對象。當一個數據幀分配給另一個數據幀時,如果對其中一個數據幀進行更改,另一個數據幀的值也將發生更改。為了防止這類問題,可以使用 copy () 函數。
select_dtypes()
select_dtypes() 的作用是,基于 dtypes 的列返回數據幀列的一個子集。這個函數的參數可設置為包含所有擁有特定數據類型的列,亦或者設置為排除具有特定數據類型的列。
最后,pivot_table() 也是 Pandas 中一個非常有用的函數。如果對 pivot_table() 在 excel 中的使用有所了解,那么就非常容易上手了。