我有以下 Dataframe :
d_test = {'name' : ['Beach', 'Dog', 'Bird', 'Dog', 'Ant', 'Beach']}
df_test = pd.DataFrame(d_test)
我想添加列duplicate
,其中每个条目都为True/Fasle。如果列name
中只有一个条目,并且在任何其他情况下True
中只有一个条目,我希望False
仅用于case。
name duplicate
0 Beach True
1 Dog True
2 Bird False
3 Dog True
4 Ant False
5 Beach True
我正在寻找df.groupby('...')
方法,但我不确定如何将其应用于我的情况。
2条答案
按热度按时间2q5ifsrm1#
将
Series.duplicated
与keep=False
一起使用:如果需要测试计数数量,如果不匹配,则为真,使用
GroupBy.transform
和GroupBy.size
,并比较是否不相等:inb24sb22#
pandas.Series.duplicated
(as jezrael shared)的替代方法是将pandas.Series.map
与pandas.Series.value_counts
一起使用,如下所示