我有一个表,其中包含用户、食物和他们最喜欢的食物。
is_favorite假 假假假假假
不需要groupby
,只需使用duplicated
和布尔索引:
df.loc[~df['user'].duplicated(), 'is_favorite'] = True
输出:
user food is_favorite
0 1 Beef True
1 1 Pork False
2 3 Pork True
3 3 Beef False
4 3 Potatoes False
5 4 Beef True
如果您想设置一个随机行使用groupby.sample
:
idx = df.groupby('user')['is_favorite'].sample(n=1).index
df.loc[idx, 'is_favorite'] = True
的例子:
user food is_favorite
0 1 Beef True
1 1 Pork False
2 3 Pork False
3 3 Beef True
4 3 Potatoes False
5 4 Beef True