[英]Pandas find unique entries per row, ignoring a specific number
您的代碼當前僅計算每行唯一條目的數量,因為您沒有做任何忽略-1的操作。 這是您可以執行的操作:
a = pd.DataFrame({'0':[58, 59, 60],
'1':[58, 60, -1],
'2':[-1, 61, -1]})
def myfunc(row):
if -1 in row.values:
return row.nunique() - 1
else:
return row.nunique()
a['unique'] = a.apply(myfunc, axis=1)
a
0 1 2 unique
0 58 58 -1 1
1 59 60 61 3
2 60 -1 -1 1
您可以使用
a[a!=-1].nunique(axis=1)
忽略精確的-1
值,或
a[a>-1].nunique(axis=1)
忽略任何負值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.