本文為ipython下的md檔案直接匯入生成
import pandas as pd
import numpy as np
t_data
#這裡,我們首先來講解pandas中利用布林型別進行索引的方法
#篩選資料中survivied為1的所有記錄,即對行元素進行篩選
t_data.loc[t_data["survived"]==1,]
passengerid
survived
pclass
name
***agea2
11cumings, mrs. john bradley (florence briggs th…
female
38.0b3
13heikkinen, miss. laina
female
26.0c4
11futrelle, mrs. jacques heath (lily may peel)
female
35.0h9
13johnson, mrs. oscar w (elisabeth vilhelmina berg)
female
27.0i10
12nasser, mrs. nicholas (adele achem)
female
14.0
#上述命令中,通過t_data["survived"]這一簡單方法提取了"survived"這一列的資料,然後檢驗其是否大於一,
#由於是作用於對行的篩選,所以我們需要將這一布林向量放到行索引的位置上
#為了方便展示作用於列上的索引,我們建立如下資料
score=
pd_score=pd.dataframe(score)
pd_score.index=["math","chinese","english"]
pd_score
li ming
yin hong
zhang yan
math
7892
88chinese
9085
56english
8793
94
#篩選所有科目均大於80分的學生,此時是通過對相關行元素的判斷來達到篩選列的目的,
#因此,需要分為兩步,首先提出出相關行元素,進行判斷
#第二,將判斷的布林結果作用於列的篩選上
bool_index=(pd_score.loc["math"]>80)&(pd_score.loc["chinese"]>80)&(pd_score.loc["english"]>80)
bool_index
li ming false yin hong true zhang yan false dtype: boolpd_score.loc[:,bool_index]
yin hong
math
92chinese
85english
93
#將上述兩步結合起來可寫成如下命令
#我們更換了一種對行的索引方式
pd_score.loc[:,(pd_score.iloc[0]>80)&(pd_score.iloc[1]>80)&(pd_score.iloc[2]>80)]
yin hong
math
92chinese
85english
93
pd_score
li ming
yin hong
zhang yan
math
7892
88chinese
9085
56english
8793
94
#接下來講解另一種索引的方法,前面我們提到過使用iloc和loc兩種方法分別通過下標索引和標籤索引
#這兩種方法的優點在於它將標籤和下標索引的兩種方式很好的進行了區分,但同樣地,如果我們想同時進行下標和標籤的索引,便行不通了
#事實上,pandas庫為我們還提供了另一種索引的方法ix,使用該方法便可以實現下標和標籤的混合索引,
#然而,當你匯入pandas庫,第一次使用該方法時,pandas可能會提醒你,該方法已經不建議採用,在後續版本中也可能會被捨棄掉
#ix方法不被建議採用的原因主要還是在於其將下標和標籤兩種索引方式混合起來,可能會造成意想不到的後果,例如如果你的標籤是數字,
#那麼ix方法是很難區分你的索引目的是下標索引還是標籤索引,而是用iloc或loc方法則無須擔心,不過,在確認不會出錯的情況下,
#ix方法還是能夠在一定程度上方便我們的索引,在沒被棄用之前,還是 可以體驗一把的!^_^
pd_score.ix[:,[1]]
yin hong
math
92chinese
85english
93
pd_score.ix[0:2,"li ming"]
math 78 chinese 90 name: li ming, dtype: int64pd_score.ix[["math"],0:2]
li ming
yin hong
math
7892
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...
pandas 2索引和選擇資料
對於一種資料結構,最基本的操作就應該是增刪改查了。行選擇和列選擇有許多方法,很容易記混,常用的要記住。主要方法有三種 iloc,loc,df.loc index1 index2 price df.iloc a b price 123 4567 s.sample frac 0.5 引數 預設選擇行,n...
mysql高階2 索引介紹
官方定義 索引 index 是幫助mysql高效獲取資料的資料結構。理解為索引的本質 索引是資料結構。索引目的是提高查詢效率,可以模擬字典 無序,是鍵和值一一對應 感覺不太對 可以簡單理解為 排好序的快速查詢資料結構 用多路搜尋樹 如二叉樹 的結構來查詢資料,稱為b tree索引 刪除資料只有邏輯上...