Как я могу заставить Python распознавать звездочку в ячейке моего DataFrame? - PullRequest
0 голосов
/ 16 октября 2019

Итак, у меня есть DataFrame, который в некоторых ячейках представлен звездочкой, а не цифрой. Я хотел бы создать функцию, которая определяет звездочки в ячейках и заменяет их на 0. Это то, о чем я думал:

def clean(row):
    if 's' in str(row):
        return re.sub(r's', '', str(row))

    elif '*' in str(row):
        return re.sub('*','' , str(row))

    else:
        return row

, но ясно, что мне нужно какое-то выражение, чтобы избежать'*' и пусть Python распознает его как объект, который я хочу заменить. Часть интереса к функции здесь, конечно, "elif". Заранее спасибо за помощь.

1 Ответ

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

вы ищете обратную косую черту.

\ Обратная косая черта, отключает специальное значение следующего символа.

import re


def clean(row):
    if 's' in str(row):
        return re.sub(r's', '', str(row))

    elif '*' in str(row):
        return re.sub(r'\*', '', str(row))

    else:
        return row


row = "ij*efs"
print(row, clean(row))

В случае, если вы хотите заменить каждую звездочку в Dataframe, вы можете использовать метод df.replace().

df.replace(to_replace=r'\*', value='', regex=True)

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