loc,iloc,列索引,布林索引的使用

2021-09-01 21:56:23 字數 1863 閱讀 3937

結論:

1,loc,iloc,df.ename,df[『ename』],df[[『ename』]]都是引用的方式進行訪問,也就是說被引用的資料發生改變,那麼df資料也會發生改變

2,如果只拿一列(乙個特徵值)資料,那麼返回的一般是series型別,達到兩列或者以上,一般是dataframe型別

3,loc[0:1,:],iloc[0:1,:],對於loc是location的縮寫,iloc中的i是integer,

loc[0:1,:]包括兩行資料;而iloc[0:1,:]只有一行資料,這是不一樣的地方

4,通過他們訪問的函式方法 預設的inplace=false,也就是說在inplace=false的時候,複製某些資料,為true的時候直接引用。

**如下:

import pandas as pd

df = pd.read_csv('data.csv',header=0)

# in

# loc:location的縮寫

# iloc:index of location :通過索引進行引用

# 在這裡需要注意乙個小細節: df.loc[0:1] 包含的是兩組資料,而df.iloc[0:1] 是只有0行資料資料

print(type(df.loc[0])) # series 引用

print(type(df.loc[0:1])) # dataframe 引用 , 有兩列資料

print(type(df.iloc[0])) # series 引用

print(type(df.iloc[0:1])) # dataframe 引用

print(type(df.loc[0:1,'empno'])) # series

print(type(df.loc[1,'empno'])) #numpy.int64

# 這兩中用法是一樣的,等效的

print(type(df.loc[0:1,'empno':'ename']))

print(type(df.loc[0:1,['empno','ename']]))

# dataframe 不支援 df[0:1,0:1]的這種numpy的切片做法

# df[0:1,0:1] # 報錯

# 但是支援 df[0:1][0:1]的用法,但是不建議使用這種

print(df[0:1][0:1])

# in

# 列索引

print(type(df['empno'])) # series ,引用

print(type(df[['empno','ename']])) # dataframe 引用

print(type(df.empno)) # series ,引用

'''通過下面的**可以求證.

df['empno'] = df.ename

df[['ename','empno']] = df[['job','mgr']]

'''# 注意:剛剛所有的都是引用型別,也就是說,我們在更改之後,是可以改變元資料,

# 而在呼叫方法的時候,比如:df.empno.replace(inplace = false) :這個時候是

# 不改變源資料,因為df.empno是引用,所以在inplace 設定為false的時候 會把相應資料先複製乙份在進行處理.

# in

# 布林索引的使用

print(df[df.empno<=7900])

print(df.loc[df.empno<=7900,['ename','job']])

# 注意:括號不能少

print(df.loc[(df.empno<=7900) & (df.job == 'clerk'),['ename','job']])

資料我是使用的oracle的emp的表的資料

全文本索引 擴充套件索引 布林索引

一般在建立表時啟用全文本搜尋。create table語句接受fulltext子句,它給出被索引列的乙個逗號分隔的列表。creat table tb c1 int not null,c2 varchar 32 not null,note text text null,primary key c1 f...

Python基礎 切片索引 布林索引 花式索引

切片索引 布林索引 花式索引是陣列的三種索引方式,但三者對於原資料的影響是不同的 1 切片索引 切片索引 切片是原結構的 改變切片中的元素 原結構跟著改變 a np.arange 15 reshape 5,3 print a b1 a 2,2 print print b1 b1 0 16 print...

pandas資料索引 loc iloc和ix

1 loc 通過行標籤索引行資料 1 loc d 獲取第 d 行資料 import pandas as pd data 1,2,3 4,5,6 index d e columns a b c df pd.dataframe data data,index index,columns columns ...