对于我的 Dataframe ,例如
df = pd.DataFrame([1, 3, 7, 1], columns=['data'])
我想知道每个索引的值在列data中是否是唯一的。因此,生成的 Dataframe 应为
data
data is_unique 0 1 False 1 3 True 2 7 True 3 1 False
对Pandas有什么方便的方法吗?
zzlelutf1#
使用duplicated,反转遮罩为~:
duplicated
~
df['is_unique'] = ~df['data'].duplicated(keep=False) print (df) data is_unique 0 1 False 1 3 True 2 7 True 3 1 False
8ljdwjyq2#
可以按如下方式使用pandas.Series.map和pandas.Series.value_counts
pandas.Series.map
pandas.Series.value_counts
df['is_unique'] = df['data'].map(df['data'].value_counts() == 1) [Out]: data is_unique 0 1 False 1 3 True 2 7 True 3 1 False
ve7v8dk23#
from collections import Counter c = Counter(df.client.to_list()) df["new_col"] = df.client.apply(lambda x:not(c[x] >1) )
3条答案
按热度按时间zzlelutf1#
使用
duplicated
,反转遮罩为~
:8ljdwjyq2#
可以按如下方式使用
pandas.Series.map
和pandas.Series.value_counts
ve7v8dk23#