Страницы

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

воскресенье, 1 марта 2020 г.

Как преобразовать логические False, True в 1, 0?

#python #python_3x #pandas #dataframe #numpy


Есть ли функция для преобразования булевых значений в числовые? 

Только мне нужно, чтобы False -> 1, а True -> 0.
В принципе можно и replace использовать, но хочется найти более красивый способ.
    


Ответы

Ответ 1



Пример: Исходный DataFrame: In [19]: df = pd.DataFrame({'col':np.random.choice([True, False], 10)}) In [20]: df Out[20]: col 0 False 1 True 2 True 3 False 4 False 5 True 6 False 7 False 8 True 9 False решение: In [22]: df['col'] = (-df['col']).astype(np.int8) In [23]: df Out[23]: col 0 1 1 0 2 0 3 1 4 1 5 0 6 1 7 1 8 0 9 1 In [24]: df.dtypes Out[24]: col int8 dtype: object альтернативный вариант: In [27]: df['col'] = (~df['col']).astype(np.uint8) In [28]: df Out[28]: col 0 1 1 0 2 0 3 1 4 1 5 0 6 1 7 1 8 0 9 1

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

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