DataFrame 行列选择,切片操作,多重索引取值

来源:互联网 发布:oracle数据库监控工具 编辑:程序博客网 时间:2024/06/10 22:27

行列选择,切片操作


index: 行/列索引

1)loc,根据行index 或 raw_name, 列 column_name 选择特定列 ; 
2)iloc,根据行/列的 index; 
3)at,根据指定行index或 raw_name及列 column_name ,快速定位DataFrame的元素; 
4)iat,与at类似,不同的是根据行列 index 来定位的; 
5)ix,为loc与iloc的混合体,既支持 name 也支持 index;


1).loc,.iloc,.ix,只加第一个参数如.loc([1,2]),.iloc([2:3]),.ix[2]…则进行的是行选择 
2).loc,.at,选列是只能是 column_name,不能是 index
3).iloc,.iat,选列是只能是 index,不能是column_name 
4)df[]只能进行选择,或列选择,不能同时进行列选择,列选择只能是列名。

巧记:iloc 与 iat 中的 i 可看做 index 的 i


python/pandas dataframe中multiindex的操作


建立一个带二重索引的dataframe 
df_output
对带多重索引的dataframe取值一般使用 xs 
xs可以传入多个不同级别的索引进行筛选,但不支持同一级索引多选 
并且xs返回的是数值而不是引用

df.xs(1, level='b')

这里写图片描述


#选取第一级b=2,id=6df.xs((2,6))
这里写图片描述
df.loc[1]: b为1,得到的是 DateFrame 对象
故取b=1, id =2的行可以采用:df.loc[1].loc[2]
b=1, id =2, 列为 a 的值采用: df.loc[1].loc[2]['a']   或者  df.xs((1,2))['a']







原创粉丝点击