我有一个 DataFrame df 和一组 user_ids: set。我如何选择仅包含集合中用户的 df 切片。喜欢:
df[df.user_id in user_ids]
现在这样工作是因为:
'Series' objects are mutable, thus they cannot be hashed
请您参考如下方法:
您可以使用 isin对于 bool 掩码 和 boolean indexing用于过滤:
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
