簡體   English   中英

為分組數據框中的唯一行創建 Boolean 列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM