Python Pandas:获取提供多个过滤器的系列的索引
我正在迭代一个数据帧。在每次迭代中,我需要得到序列的索引,其中值等于5或4。下面的代码为我提供了值为5的索引(另一个问题:实际上我同时获取索引和值。另一个问题是仅获取索引。我尝试了Python Pandas:获取提供多个过滤器的系列的索引,python,pandas,Python,Pandas,我正在迭代一个数据帧。在每次迭代中,我需要得到序列的索引,其中值等于5或4。下面的代码为我提供了值为5的索引(另一个问题:实际上我同时获取索引和值。另一个问题是仅获取索引。我尝试了打印行[row==5]。索引[0],但它不适合我) 我想我必须做row[row==5 | | row==4]之类的事情,但我不知道 这里的“用户评分”是一个数据框。每一行是一个用户,每一列是一部电影,我在其中存储用户对电影的评分。我需要为每个用户获得4或5个收视率的电影。因此,我迭代了dataframe,上面的代码给出
打印行[row==5]。索引[0]
,但它不适合我)
我想我必须做row[row==5 | | row==4]
之类的事情,但我不知道
这里的“用户评分”是一个数据框。每一行是一个用户,每一列是一部电影,我在其中存储用户对电影的评分。我需要为每个用户获得4或5个收视率的电影。因此,我迭代了dataframe,上面的代码给出了我(电影id和分级)
我认为你可以使用:
如果用户评分
是系列
:
user_ratings[(user_ratings == 5) | (user_ratings == 4)]
或者更好:
user_ratings[user_ratings.isin([4,5])]
如果需要索引过滤器:
user_ratings.index[(user_ratings == 5) | (user_ratings == 4)]
user_ratings.index[user_ratings.isin([4,5])]
或者首先筛选系列
,然后获取索引:
user_ratings[(user_ratings == 5) | (user_ratings == 4)].index
user_ratings[user_ratings.isin([4,5])].index
您能添加一些数据和期望的输出吗?这样第二个或最后一个解决方案就可以了?谢谢。用户评分[(用户评分==5)|(用户评分==4)]适用于我,其中用户评分是一个系列。但结果是我得到了指数和评级。在我的问题中查看我的输出。如何获取唯一的索引?使用
user\u ratings.index[(user\u ratings==5)|(user\u ratings==4)]
是,它正在工作
user_ratings.index[(user_ratings == 5) | (user_ratings == 4)]
user_ratings.index[user_ratings.isin([4,5])]
user_ratings[(user_ratings == 5) | (user_ratings == 4)].index
user_ratings[user_ratings.isin([4,5])].index