- 在一个轴上拥有两个或者两个以上的索引
- 使用loc语句进行访问
- loc里面接受tuple,如loc[(a,b),:]
|
|
0 |
1 |
1 |
1 |
1 |
1 |
0 |
列名0 |
|
|
0 |
5 |
6 |
3 |
1 |
3 |
1 |
列名1 |
索引0 |
索引1 |
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
3 |
1 |
|
|
|
|
|
|
|
|
2 |
4 |
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
3 |
1 |
|
|
|
|
|
|
|
|
#第4列与第1列作为行索引标签
df=pd.read_csv('1.csv',dtype={'user_id':str},index_col=[3,0])
#如何引用(a,b)分别代表a索引 与b索引,层次化索引就是多个索引
#第一个索引28,第二个索引1111和111
df.loc[28].loc[[1111,111]]
#df.loc[(a,b),]
#把行标签(28,[1111,111]),列标签['auction_id','cat_id']中的数据取出来
#先取行标签28,在行标签28中选择并联的两个行标签,有先后关系
df.loc[(28,[1111,111]),['auction_id','cat_id']]
#
df.loc[(28,38)]#会报错,原因是行标签28里面没有38,28是第一层索引,38是第二层索引
df.loc[([28,38])]#以列表形式是并列关系表示28与38都是第一层索引,不会报错,,