2
我有一個DataFrame df和一組user_ids:set。我如何選擇只包含集合中用戶的df。像:熊貓:根據字段中包含的字段進行過濾
df[df.user_id in user_ids]
現在的工作,那是因爲:
'Series' objects are mutable, thus they cannot be hashed
我有一個DataFrame df和一組user_ids:set。我如何選擇只包含集合中用戶的df。像:熊貓:根據字段中包含的字段進行過濾
df[df.user_id in user_ids]
現在的工作,那是因爲:
'Series' objects are mutable, thus they cannot be hashed
可以使用isin
爲boolean mask
與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
夥計。這是關於SO的第一個「isin」問題的可能性有多大? ;-) – DSM
'DF [df.user_id.isin(user_ids) ]'? – MaxU