Python 列中唯一值的布尔值
对于我的数据帧,例如Python 列中唯一值的布尔值,python,pandas,dataframe,unique,Python,Pandas,Dataframe,Unique,对于我的数据帧,例如 df = pd.DataFrame([1, 3, 7, 1], columns=['data']) 我想知道每个索引的值在data列中是否唯一 因此,生成的数据帧应该是 data is_unique 0 1 False 1 3 True 2 7 True 3 1 False 熊猫有什么方便的方法吗?通过~使用倒置面罩: df['is_unique'] = ~df['data'].duplica
df = pd.DataFrame([1, 3, 7, 1], columns=['data'])
我想知道每个索引的值在data
列中是否唯一
因此,生成的数据帧应该是
data is_unique
0 1 False
1 3 True
2 7 True
3 1 False
熊猫有什么方便的方法吗?通过~
使用倒置面罩:
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
通过使用
值\u计数
+映射
df.assign(BOOL=df.data.map(df.data.value_counts()>1))
Out[437]:
data BOOL
0 1 True
1 3 False
2 7 False
3 1 True
通过使用drop\u duplicate
df.assign(BOOL=df.index.isin(df.drop_duplicates('data',keep =False).index))
Out[440]:
data BOOL
0 1 False
1 3 True
2 7 True
3 1 False
哇!非常整洁。太好了。这就是我要找的美女!谢谢
from collections import Counter
c = Counter(df.client.to_list())
df["new_col"] = df.client.apply(lambda x:not(c[x] >1) )