Python-Pandas-DataFrame:行列操作-取值(at、iat、loc、iloc)

DataFrame行列操作方法:
  at
[row_value,column_value] 基于行列标签值查找单个值
  iat
[row_index,column_index] 基于行列位置序号查找单个值
  loc[row_values,column_values] 基于索引和字段标签(即实际的索引值或字段名称)进行数据的切片或筛选,也支持布尔值方式筛选!
  iloc[row_indexs,column_indexs] 基于索引和字段的序号位置(即索引从上到下,字段从左到右排序的序号)进行数据的切片和筛选,支持布尔值方式筛选

一、DataFrame.iloc[]
  位置序号切片
  1、df.iloc[1:3, 0:3]
  2、df.iloc[[1,3],[0,3]]
  布尔值方式
  1、df.iloc[:,[True,False,True,False]]
  2
、df.iloc[lambda x:x.index % 2 == 0]
二、DataFrame.loc[]
  标签值切片
  1、 df.loc[r1:r2,'c1':'c2']
  2、
df.loc[[r1,r2],['c1','c2']] 或 df.loc[(r1,r2),('c1','c2')]
  
布尔值-条件查找:
  1、选取等于某个值的行 == :df.loc[df['column_name'] == seek_value]
  2、选取不等于某个值的行 !=:df.loc[df['column_name'] != seek_value]
  3、选取包含某些值的行 isin :df.loc[df['column_name'].isin(seek_values)]
  4、选取不包含某些值的行 ~(非) :df.loc[~df['column_name'].isin(seek_values)]
  5、多种条件的选取行  &(与)、|^(或) :df.loc[(df['column'] == seek_value) & df['other_column'].isin(seek_values)]
  6、
df.loc[lambda df: df['col'] == 8 ]
posted @ 2020-12-31 18:57  大猫不发威  阅读(1413)  评论(0)    收藏  举报