如果索引值有多个,我们可以使用多级索引的方式来查询DF数据中的数据,以图书的打分为例,有很多本书,同一本书有很多个用户打分,这样我们就可以设计一个多级索引的DF数据结构来存放这些得分,然后通过多级索引,类似.loc().iloc()这样的操作进行查询。代码如下:
import pandas as pd
import numpy as np
data_list = np.random.randint(1,6,size=7)
book_ratings = pd.DataFrame(data_list,
# columns=['rating'],
index= [['b1','b1','b2','b2','b3','b4','b4'],
[1,2,1,2,1,2,3]]
)
book_ratings.name = "rating table"
# book_ratings.index.name = "bookid"
book_ratings.index.name=["bookid","userid"]
print(book_ratings)
print("*****************************")
print(book_ratings.loc['b2'].iloc[0])
运行结果如下:
0
b1 1 2
2 4
b2 1 5
2 4
b3 1 2
b4 2 1
3 2
*****************************
0 5
Name: 1, dtype: int32
[Finished in 4.6s]