Python 熊猫:按集合中包含的字段过滤

Python 熊猫:按集合中包含的字段过滤,python,pandas,filter,set,Python,Pandas,Filter,Set,我有一个数据帧df和一组用户ID:set。如何选择仅包含集合中用户的df片段。比如: df[df.user_id in user_ids] 现在这样做是因为: 'Series' objects are mutable, thus they cannot be hashed 您可以使用for布尔掩码进行过滤: df = pd.DataFrame({'user_id':[1,2,3], 'B':[4,5,6]}) print (df) B user

我有一个数据帧df和一组用户ID:set。如何选择仅包含集合中用户的df片段。比如:

df[df.user_id in user_ids]
现在这样做是因为:

'Series' objects are mutable, thus they cannot be hashed
您可以使用for
布尔掩码
进行过滤:

df = pd.DataFrame({'user_id':[1,2,3],
                   'B':[4,5,6]})

print (df)
   B  user_id
0  4        1
1  5        2
2  6        3

user_ids = set([1,2])

print (df.user_id.isin(user_ids))
0     True
1     True
2    False
Name: user_id, dtype: bool

df1 = df[df.user_id.isin(user_ids)]
print (df1)
   B  user_id
0  4        1
1  5        2

df[df.user\u id.isin(user\u id)]
?都德。这是第一个
isin
问题的可能性有多大?;-)