結論:
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 ...