一、panda的數據結構
1.1 Series
Series是一種以為數組型對象,包含一個值序列,并且包含了數據標簽,成為索引(index)。最簡單的序列可以僅有一個數組形成。
默認索引從0開始,通過values、index屬性獲得Series對象的值和索引:
可以創建和修改索引序列:
使用字典生成一個Series,可以將字典按照想要的順序傳遞給構造函數,
缺失值用NaN表示。
缺失數據用isnull和notnull函數檢查
Series實例也有isnull和notnull方法
對齊索引操作:索引將是索引對的并集
Series對象自身和index有name的屬性
1.2 DataFrame
DataFrame可以被視為一個共享相同索引的Series的字典
利用字典生成DataFrame
DataFrame的head()方法只展示頭五行,也可以指定行數
可以指定列的順序
可以按標記或屬性那樣檢索列
賦值給列
將Series賦值給一列,Series的索引將按照DataFrame重新排列,并在空缺處填充缺失值NaN
如果被賦值的列不存在,會生成新列。del關鍵字可以刪除列
創建一列布爾值,用frame2.F的語法無法創建新的列
顯示列名
從DataFrame中選取的列是數據的視圖,而不是拷貝。因此對Series的修改會映射到DataFrame中。如需復制應當使用Series的copy方法。
包含字典的嵌套字典,內部字典的鍵值會被作為行索引值
轉置,但不會改變frame3
包含Series的字典也可以用來構造DataFrame
1.3索引對象
索引對象不可修改,分享索引對象更安全:
索引可以包含重復標簽:
索引有一些方法和屬性,如計算索引唯一序列,計算兩個索引的并、交集等
二、基本功能
重建索引
數據按新索引排列,如果某個索引之前不存在,會引入缺失值
不改變原對象
對于順序數據,如時間,重建索引會插填值。methed可選參數ffill填充時用前值,bfill填充時用后值
重建列名
使用loc 進行標簽索引
刪除條目
傳遞axis=1,刪除列值
inplace = True 真正清除刪除的數據
索引、選擇與過濾
使用周標簽loc或整數標簽iloc選取子集
fill_value設置填充值
DataFrame與Series間的操作
行上廣播
列上廣播
排序:
sort_index()按索引排序
sort_values()按值排序,缺失值會被排到尾部
對DataFrame排序,使用一列多多列作為排序鍵。傳遞參數by
rank()排名,有相同的數,取他們排名的平均數,如7的排名,(6+7)/2 = 6.5
按出現的次序排名
三、描述性統計的概述與計算
自動排除NA值,使用skipna實現不排除NA值
匯總統計
非數值的匯總統計
相關性corr,協方差cov
唯一值、計數