Pandas中[],loc,iloc,at,iat,ix的用法区别和规律总结
首先我们来造一批测试数据
df=pd.DataFrame(np.arange(42).reshape(7,6),columns=list('abcdefg'),index=list('hijklm'))
loc只能根据行/列名查询
-
df.loc[:,:] #所有数据
-
df.loc['h','a'] #h行a列
-
df.loc[['h','k'],['c','d']] #h,k行的c,d列
-
df.loc['h':'k','c':'d'] #h~k行的c~d列
iloc只能根据行/列索引查询
-
df.iloc[:,:] # 显示所有数据
-
df.iloc[1,1] #显示第一行第一列的数字
-
df.iloc[[1,3],[1,3]] # 显示1,3行的1,3列数字
-
df.iloc[1:3,1:3] # 显示1~3行的1~3列数字
at只能根据行/列名查询
at['a','c'] # 显示a行c列的数字
iat只能根据行/列索引查询
iat[1,1] # 显示第1行1列的数字
dataframe[]只能单独查询行或者列,不能行和列混合查询
-
df[:] # 取所有数据
-
df[1:3] # 取1~3行数据
-
df['a'] # 取'a'列数据
-
df[['a','b']] #取'a','b'两列数据
-
df['a'][2] # 取'a'列数据的第二行
ix既能通过索引查询,又能通过行列名进行查询
.ix具备.loc,.iloc,.at,.iat,dataframe[]的所有功能,就不再过多介绍,总之就是.loc,.iloc,.at,.iat,dataframe的语法他都能用
-
df.ix['i':'l','a':'d']
-
df.ix[['i','h'],['a','d']]
-
df.ix[1:3,2:4]
-
df.ix[[1,3],[2,4]]
-
df.ix[:,:]


浙公网安备 33010602011771号