第三章 索引 總結
目錄4 索引運算
5 索引切片
5.2 多級索引切片
:列選擇
loc
:基於元素
iloc
: 基於位置
query
:減少**長度
行索引和列索引都是multiindex
型別,索引中的元素是元組。
索引的名字和值屬性可以通過names
和values
獲得。
通過get_level_values(n)
可以獲得第n
層的索引。
通過indexslice
可以多層切片。
構造方法:from_tuples, from_arrays, from_product
swaplevel
:交換指定軸的兩個索引層
reorder_levels
:交換指定軸的任意層
droplevel
:刪除某一層的索引
rename_axis
: 修改索引層的名稱,傳入字典或函式
rename
:修改索引值,level
指定索引層,傳入字典或函式
map
:定義在index
上的方法,直接傳入索引的元組,可以對多級索引進行壓縮或展開。
reset_index
:取消索引,預設將取消的索引層新增到列中,drop=true
表示去掉索引層。
reindex
:傳入index
和columns
引數列表,新錶會根據索引自動對齊。
reindex_like
:傳入dataframe
引數,仿照該引數變形。
交集:id1.intersection(id2)
id1 & id2
並集:id1.union(id2)
id1 | id2
差集:id1.difference()
(id1 ^ id2) & id1
對稱差集:id1.symmetric_difference(id2)
id1 ^ id2
(注意unique
去重)
5.1.1 序列series
的行索引
a. 字串切片,包含兩個端點,前後端點值重複出現則需先排序
b. 整數切片,左閉右開,取出索引位置的值
5.1.2loc
索引器
a. 字串切片,包含兩個端點,端點不唯一則報錯
b.dataframe
整數切片,包含兩個端點且不能重複
c. 函式無法返回切片形式,要用slice
物件進行包裝
5.1.3iloc
索引器(位置篩選)
a. 切片不包含結束端點
b. 傳入切片為返回值的函式,使用slice物件包裝
5.2.1 與單層索引的區別
單層索引中,切片端點元素唯一即可切片;
多級索引中,切片前必須排序
5.2.2indexslice
物件切片
indexslice
可以分層切片,將切片與布林列表混用。(定義:idx = pd.indexslice
)
a.loc[idx[*,*]]
型,不能分層切片
b.loc[idx[*,*],idx[*,*]]
型,可以多層分別切片,但不支援使用函式
參考:joyful pandas教程
學習筆記 Pandas索引 切片
dataframe物件操作 上回說到series可以看做是帶索引的一維陣列,也可以看做是字典,下面來分別說不同看法下的series物件可以有哪些操作。建立乙個series物件 data pd.series np.linspace 0.25,1 4 index a b c d print data p...
pandas 索引筆記
1 import pandas as pd 2import numpy as np 34 s pd.series np.random.rand 5 index list abcde 5 建立序列,其中 index list abcde 為每一行新增索引 6 s.index.name alpha 為行...
pandas學習筆記(2) 多層索引
用from product series np.random.randint 0,150,size 8 index pd.multiindex.from product a b c d 期中 期末 out 23 a 期中 51 期末 133 b 期中 132 期末 115 c 期中 65 期末 91...