Страницы

Поиск по вопросам

воскресенье, 5 января 2020 г.

Как замаскировать значения в строке датарфейма?

#python #pandas #dataframe #mask


Пусть дан датафрейм:

1) 2 3 3 2
2) 4 5 5 5
3) 0 9 8 1


Как получить такое:

1) 1 2 2 1
2) 1 2 2 2
3) 1 2 3 4


То есть, мы смотрим порядок и уникальность значения в строке и заменяем по этому
принципу эти значения, как бы маскируя их. Обработка у нас построчная и независимая.
    


Ответы

Ответ 1



Примените pd.factorize() к транспонированому DataFrame: In [30]: df Out[30]: a b c d 0 2 3 3 2 1 4 5 5 5 2 0 9 8 1 In [31]: df.T.apply(lambda x: pd.factorize(x)[0]+1).T Out[31]: a b c d 0 1 2 2 1 1 1 2 2 2 2 1 2 3 4

Комментариев нет:

Отправить комментарий