我遇到了一个问题,我有一个pandas的dataframe:
book_ratings
我想根据User 1到User 4的评分,找出评分达到5分的书的名称
我试过用book_ratings.isin([5]), 只能找到True和False的值,如何返回相应的值呀ToT
我遇到了一个问题,我有一个pandas的dataframe:
book_ratings
我想根据User 1到User 4的评分,找出评分达到5分的书的名称
我试过用book_ratings.isin([5]), 只能找到True和False的值,如何返回相应的值呀ToT
可以这样操作:
import pandas as pd
pd.set_option('display.max_columns',None)
df=pd.DataFrame({'title':['a','b','c','d'],'author':['aa','bb','cc','dd'],'user1':[3.2,2.9,2.5,2.9],'user2':[5.0,1.3,4.0,3.8],'user3':[2.0,2.3,2.8,4.0],'user4':[4.0,3.5,4.0,5.0]})
a=df.iloc[:,2:].isin([5]).any(axis=1)
df=df.mask(~a).dropna()
print(df)
result:
title author user1 user2 user3 user4
0 a aa 3.2 5.0 2.0 4.0
3 d dd 2.9 3.8 4.0 5.0