您的位置:首页 > 其它

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

2017-10-18 11:13 405 查看

行列选择,切片操作

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 



对带多重索引的dataframe取值一般使用 xs 

xs可以传入多个不同级别的索引进行筛选,但不支持同一级索引多选 
并且xs返回的是数值而不是引用

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




#选取第一级b=2,id=6
df.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']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: