簡體   English   中英

查找分組列的唯一值?

[英]Finding unique values of a a grouped column?

我在 df 中有一個列,如下所示:

Site      | Segment
espn.com    groupa
news.com    groupa
cnn.com     groupb
dc.com      groupc
espn.com    groupb
continued...

如果我想找到僅存在於某個細分市場中的獨特網站,我該如何獲得?

這意味着我只想找到存在於一個細分市場中而不是任何其他細分市場的獨特網站。

因此,如果 cnn.com 只存在於 b 組中,那么我想要那個而不是 espn.com

謝謝

想法是使用pivot_table進行重塑,然后如果每行只有一個值不丟失,則找到索引值:

df1 = df.pivot_table(index='Site', columns='Segment', aggfunc='size')
print (df1)
Segment   groupa  groupb  groupc
Site                            
cnn.com      NaN     1.0     NaN
dc.com       NaN     NaN     1.0
espn.com     1.0     1.0     NaN
news.com     1.0     NaN     NaN

print (df1.notna().sum(axis=1))
Site
cnn.com     1
dc.com      1
espn.com    2
news.com    1
dtype: int64

a = df1.index[df1.notna().sum(axis=1).eq(1)].tolist()
print (a)
['cnn.com', 'dc.com', 'news.com']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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