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