1
对于我的数据帧,例如对于列中的唯一值的布尔值
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 = pd.DataFrame([1, 3, 7, 1], columns=['data'])
我想知道每个指标值是否在列data
独特。
因此所产生的数据帧应该是
data is_unique
0 1 False
1 3 True
2 7 True
3 1 False
是否与大熊猫一个方便的方法?
使用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
通过使用value_counts
+ map
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_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
哇。非常整齐。大。 –
这就是我一直在寻找的美丽!谢谢! –
不客气!谢谢大家。 – jezrael