Pandas學習筆記 03 索引

2022-10-06 16:03:23 字數 2021 閱讀 6838

第三章 索引 總結

目錄4 索引運算

5 索引切片

5.2 多級索引切片

:列選擇

loc:基於元素

iloc: 基於位置

query:減少**長度

行索引和列索引都是multiindex型別,索引中的元素是元組。

索引的名字和值屬性可以通過namesvalues獲得。

通過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:傳入indexcolumns引數列表,新錶會根據索引自動對齊。

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...