[英]Create a Boolean column for unique rows in a grouped data frame
我有一個分組數據框df_grouped
,我想創建一個新的 boolean 列df_grouped["Unique"]
其中對於每個分組子集,如果location
的值在分組中是唯一的,則此列為True
如果它不是唯一的,則為False
.
dataset = {
'ID': ['One', 'One', 'One', 'Five', 'Five','Five','Four'],
'Day': [2, 2, 2, 1, 1,1,0],
'Location': ['London', 'London', 'Paris', 'London', 'Paris','Paris','Berlin']}
df = pd.DataFrame(dataset)
df_grouped = df.groupby(['Name','Day'])
唯一列的預期 output:
'Unique': [False, False, True, True, False, False, True]
使用DataFrame.duplicated
with keep=False
並通過~
反轉掩碼:
df['Unique'] = ~df.duplicated(['ID','Day', 'Location'], keep=False)
print (df)
ID Day Location Unique
0 One 2 London False
1 One 2 London False
2 One 2 Paris True
3 Five 1 London True
4 Five 1 Paris False
5 Five 1 Paris False
6 Four 0 Berlin True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.