簡體   English   中英

大熊貓在處理 nan 值的 groupby 對象上轉換 nunique

[英]pandas transform nunique on groupby object dealing with nan values

我有以下df

inv_id    cluster_id
793        2
           2
789        3
789        3
           4
           4

我喜歡groupby cluster_id和檢查各組有多少唯一值了,

df['same_inv_id'] = df.groupby('cluster_id')['inv_id'].transform('nunique') == 1  

但我喜歡設置same_inv_id = False當一些集群只包含空/空白inv_id ,並且當一些集群包含一個或多個空/空白inv_id ,所以結果看起來像,

inv_id    cluster_id    same_inv_id
793        2            False 
           2            False
789        3            True
789        3            True
           4            False
           4            False 

IIUC得到條件然后transform + all

s1=df.inv_id.ne('').groupby(df.cluster_id).transform('all')
s1
Out[432]: 
0    False
1    False
2     True
3     True
4    False
5    False
Name: inv_id, dtype: bool
s2=df.groupby('cluster_id')['inv_id'].transform('nunique') == 1 
#df['same_inv_id']=s1&s2

暫無
暫無

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

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