二、多級索引
三、索引設定
3. set_index和reset_index
4. rename_axis和rename
四、常用索引型函式
五、重複元素處理
六、抽樣函式
第2章 索引.ipynb
寫在前面的,按照教程中的內容都在電腦上敲了一遍**,但還是感覺雲裡霧裡的。知識點很多,也有很多經驗的傳授,回過頭來將教程中的內容重新梳理了一遍,就將梳理的內容先打個卡吧,後面還得繼續花時間研究學習呢。
最常用的索引方法可能就是這三類,其中iloc表示位置索引,loc表示標籤索引,也具有很大的便利性,各有特點
(a)loc方法
1)單行索引:
2) 多行索引:
(注意:所有在loc中使用的切片全部包含右端點!這是因為如果作為pandas的使用者,那麼肯定不太關心最後乙個標籤再往後一位是什麼,但是如果是左閉右開,那麼就很麻煩,先要知道再後面一列的名字是什麼,非常不方便,因此pandas中將loc設計為左右全閉)
3) 單列索引:
4) 多列索引:
5) 聯合索引:
6) 函式式索引:
7) 布林索引:
小節:本質上說,loc中能傳入的只有布林列表和索引子集構成的列表,只要把握這個原則就很容易理解上面那些操作
(b)iloc方法(注意與loc不同,切片右端點不包含)
1)單行索引:
2) 多行索引:
3) 單列索引:
4) 多列索引:
5) 混合索引:
6) 函式式索引:
(c) 操作符
series的操作
單元素索引:
多行索引:
函式式索引:
布林索引:
【注意】如果不想陷入困境,請不要在行索引為浮點時使用操作符,因為在series中的浮點切片並不是進行位置比較,而是值比較,非常特殊
dataframe的操作
單行索引:
多行索引:
單列索引:
多列索引:
5)函式式索引:
布林索引:
小節:一般來說,操作符常用於列選擇或布林選擇,盡量避免行的選擇
(1)布林符號:』&』,』|』,』~』:分別代表和and,或or,取反not
(2) isin方法
當只需要取乙個元素時,at和iat方法能夠提供更快的實現:
此處介紹並不是說只能在單級索引中使用區間索引,只是作為一種特殊型別的索引方式,在此處先行介紹
(1)利用interval_range方法
(2)利用cut將數值列轉為區間為元素的分類變數,例如統計數學成績的區間情況:
(3)區間索引的選取
如果想要選取某個區間,先要把分類變數轉為區間變數,再使用overlap方法:
(1)通過from_tuple或from_arrays
① 直接建立元組
② 利用zip建立元組
③ 通過array建立
(2)通過from_product
(3)指定df中的列建立(set_index方法)
(1)一般切片
(2)第一類特殊情況:由元組構成列表
(3)第二類特殊情況:由列表構成元組
索引slice可以與loc一起完成切片操作,主要有兩種用法
(1)loc[idx[,]]型
第乙個星號表示行,第二個表示列,且使用布林索引時,需要索引對齊
(2)loc[idx[,],idx[,]]型
這裡與上面的區別在於
(a)中的loc是沒有逗號隔開的,但(b)是用逗號隔開,前面乙個idx表示行索引,後面乙個idx為列索引
(1)swaplevel方法(兩層交換)
(2)reorder_levels方法(多層交換)
index_col是read_csv中的乙個引數,而不是某乙個方法:
reindex是指重新索引,它的重要特性在於索引對齊,很多時候用於重新排序
先介紹set_index:從字面意思看,就是將某些列作為索引
使用表內列作為索引:
rename_axis是針對多級索引的方法,作用是修改某一層的索引名,而不是索引標籤
where函式
mask函式
query函式
query函式中的布林表示式中,下面的符號都是合法的:行列索引名、字串、and/not/or/&/|/~/not in/in/==/!=、四則運算符
duplicated方法
該方法返回了是否重複的布林列表
drop_duplicates方法
從名字上看出為剔除重複項,這在後面章節中的分組操作中可能是有用的.
這裡的抽樣函式指的就是sample函式
(a)n為樣本量
(b)frac為抽樣比
(c)replace為是否放回
(d)axis為抽樣維度,預設為0,即抽行
(e)weights為樣本權重,自動歸一化
教程後的習題,見下回分解……
Pandas基礎學習筆記
python data analysis library 或 pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。pandas提供了大量能使我們快速便捷地處理資料的函式和方法 impo...
Pandas學習筆記(二)
注意講述如何獲取乙個dataframe的某些行和某些列 注意value count 0方法,可以利用這個函式獲知某一列的各個取值的個數 主要講述如何按照人為設定的條件去選取dataframe的部分行和部分列。示例語句 is noise complaints complaint type noise ...
學習筆記 Pandas(二)
選擇資料 1 loc 通過行和列的名字來獲取值 注意 iloc使用索引定位時,會按照索引規則取值,如 1 5 會取出1,2,3,4這4個值 loc按照label標籤取值,如 a c 則a,b,c都取到 3 at 通過行列標籤獲得指定值 獲得單個資料 4 iat 通過行列標籤的整數索引來選取指定值 5...