Python之Pandas中Series、DataFrame


Python之Pandas中Series、DataFrame實踐

1. pandas的數據結構Series

1.1 Series是一種類似於一維數組的對象,它由一組數據(各種NumPy數據類型)以及一組與之相關的數據標簽(即索引)組成。
1.2 Series的字符串表現形式為:索引在左邊,值在右邊。

2. pandas的數據結構DataFrame是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值的)。

dataframe中的數據是以一個或者多個二位塊存放的(而不是列表、字典或者別的一維數據結構)。

3.索引對象

pandas的索引對象負責管理軸標簽和其他元素(比如軸名稱等)。構建Series或DataFrame時,所用到的任何數組或其他序列的標簽都會被轉換成一個Index。
Index對象是不可修改的。

4. pandas的主要Index對象

Index       最泛化的Index對象,將軸標簽表示為一個由Python對象組成的NumPy數組
Int64Index  針對整數的特殊Index
MultiIndex  “層次化”索引對象,表示單個軸上的多層索引。可以看做由元數組組成的數組
DatetimeIndex   存儲納秒級時間戳(用NumPy的datetime64類型表示)
PeriodIndex 針對Period數據(時間間隔)的特殊Index

5. 操作Series和DataFrame中的數據的基本手段

5.1 重新索引 reindex
5.2 丟棄指定軸上的項 drop
5.3 索引、選取和過濾(.ix)
5.4 算數運算和數據對齊
    DataFrame和Series之間的算數運算默認情況下會將Series的索引項 匹配到DataFrame的列,然后沿着行一直向下廣播。(如果希望匹配行且在列上廣播,則必須使用算數運算方法)

6. 函數應用和映射

NumPy的ufuncs(元素級數組方法)也可用操作pandas對象
DataFrame中將函數應用到由各列或各行所行成的一維數組上可用apply方法。

7. 排序和排名

要對行或列索引進行排序(按字典順序),可使用sort_index方法,它將返回一個已排序的新對象;對於DataFrame,則可以根據任意一個軸上的索引進行排序。

8. 匯總和計算描述統計

8.1 相關系數corr與協方差cov
8.2 成員資格isin,用於判斷矢量化集合的成員資格,可用於選取Series或DataFrame列數據的子集。

9. 處理缺失數據(Missing data)

9.1 pandas使用浮點值NaN(Not a Number)表示浮點和非浮點數組中的缺失數據。
9.2 NA處理辦法
    dropna      根據各標簽值中是否存在缺失數據對軸標簽進行過濾,可通過閥值調節對缺失值的容忍度
    fillna      用指定的或插值方法(如ffil或bfill)填充缺失數據
    isnull      返回一個含有布爾值的對象,這些布爾值表示哪些值是缺失值/NA,該對象的類型與源類型一樣
    notnull     isnull的否定式

10. 層次化索引

層次化索引(hierarchical indexing)是pandas的一項重要功能,它使你能在一個軸上擁有多個(兩個以上)索引級別。抽象點說,它是你能以低維度形式處


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM