Существует ли встроенный метод для замены логических значений в панде в кадре данных строковым значением? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь найти фабричное решение в pandas (или numpy) для решения замены логических значений.

Я использую понимание списка с проверкой типа и встроенными функциями.

some_data = pd.Series([False, 0, True, 1])
tmp = [str(value).lower() if type(value) is bool else value for value in some_data]
some_new_data = pd.Series(tmp)

Есть ли другое решение для этого? Используя некоторые функции от панд или NumPy?

1 Ответ

1 голос
/ 18 октября 2019

Использование numpy.where :

# create mask
mask = some_data.apply(lambda x: isinstance(x, bool))

tmp = np.where(mask, some_data.astype(str).str.lower(), some_data.values)
some_new_data = pd.Series(tmp)
print(some_new_data)

Выход

0    false
1        0
2     true
3        1
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...