Заменить все истины в логическом фрейме данных индексным значением - PullRequest
0 голосов
/ 16 марта 2020

Как я могу заменить все ячейки в логическом фрейме данных (True / False) на индексное имя этой ячейки, когда "True"? Например:

df = pd.DataFrame(
    [
        [False, True],
        [True, False],

    ],
    index=["abc", "def"],
    columns=list("ab")
)

выглядит как:

df = pd.DataFrame(
    [
        [False, abc],
        [def, False],

    ],
    index=["abc", "def"],
    columns=list("ab")
)

1 Ответ

3 голосов
/ 16 марта 2020

Использование df.mask:

Заменить значения, если условие истинно.

df.mask(df,df.index)

         a      b
abc  False    abc
def    def  False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...