У меня есть кадр данных из 6 столбцов, где каждая запись имеет последовательность чисел.
pd.DataFrame(FixByteOrderUnique)
Out[518]:
0 1 2 3 4 5
0 58 68 58 59 -1 -1
1 59 69 59 58 -1 -1
2 93 94 93 33 -1 -1
3 58 59 58 68 -1 -1
4 92 94 92 33 -1 -1
5 59 58 59 69 -1 -1
6 57 48 57 79 -1 -1
7 15 26 15 101 -1 -1
Я хочу, чтобы в каждой строке измерялось количество уникальных элементов, игнорируя при подсчете числа: -1 100, 101 и 102. Допустимые числа от [0,99].
Что я сделал, так это сделал лямбда-функцию, которая игнорирует при подсчете -1
def myfunc(row):
if -1 in row.values:
return row.nunique() - 1
else:
return row.nunique()
а затем вызовите мою функцию следующим образом
pd_sequences['unique'] = pd.DataFrame(FixByteOrderUnique).apply(myfunc, axis=1)
Как я могу включить в свою лямбда-функцию, чтобы проверить, является ли число из [0,99], чтобы иметь право на подсчет уникальности?