Pandas中[],loc,iloc,at,iat,ix的用法区别和规律总结

首先我们来造一批测试数据

df=pd.DataFrame(np.arange(42).reshape(7,6),columns=list('abcdefg'),index=list('hijklm'))

Pandas中[],loc,iloc,at,iat,ix的用法区别和规律总结

loc只能根据行/列名查询

  1. df.loc[:,:] #所有数据
  2. df.loc['h','a'] #h行a列
  3. df.loc[['h','k'],['c','d']] #h,k行的c,d列
  4. df.loc['h':'k','c':'d'] #h~k行的c~d列

iloc只能根据行/列索引查询

  1. df.iloc[:,:] # 显示所有数据
  2. df.iloc[1,1] #显示第一行第一列的数字
  3. df.iloc[[1,3],[1,3]] # 显示1,3行的1,3列数字
  4. df.iloc[1:3,1:3] # 显示1~3行的1~3列数字

at只能根据行/列名查询

  at['a','c'] # 显示a行c列的数字

iat只能根据行/列索引查询

  iat[1,1] # 显示第1行1列的数字

dataframe[]只能单独查询行或者列,不能行和列混合查询

  1.  df[:] # 取所有数据
  2.  df[1:3] # 取1~3行数据
  3.  df['a'] # 取'a'列数据
  4.  df[['a','b']] #取'a','b'两列数据
  5.  df['a'][2] # 取'a'列数据的第二行

ix既能通过索引查询,又能通过行列名进行查询

.ix具备.loc,.iloc,.at,.iat,dataframe[]的所有功能,就不再过多介绍,总之就是.loc,.iloc,.at,.iat,dataframe的语法他都能用

  1.  df.ix['i':'l','a':'d']
  2.  df.ix[['i','h'],['a','d']]
  3.  df.ix[1:3,2:4]
  4.  df.ix[[1,3],[2,4]]
  5.  df.ix[:,:]

 

上一篇:git之常用命令记录


下一篇:C++实现单链表