В столбце объекта фрейма данных найдите записи, содержащие только специальные символы - PullRequest
1 голос
/ 25 июня 2019

У меня есть набор данных с несколькими столбцами. В определенном столбце, в котором есть текстовые записи (отзывы), хотелось отметить все те записи, которые имеют только специальные символы.

Я знаю, как удалить специальные символы во всем столбце, но я не могу отметить те строки, в которых есть только специальные символы

import string
import re


def checkString(data, Feedback):
    for let in data.Feedback.str.lower():
        if let in string.ascii_lowercase:
            data["special_flag"] = "Valid"
        else:
            data["special_flag"] = "Not_Valid"

    data1 = data['Feedback'].apply(checkString(data, Feedback), axis=1)


def spec(data, x):
    if not re.match(r'^[_\W]+$', data.x):
        data["special"] = 'valid'
    else:
        data["special"] = 'invalid'


    data1 = data['Feedback'].apply(spec(data, Feedback), axis=1)

Когда я запускаю эти функции, я получаю сообщение об ошибке: «имя« Обратная связь »не определена»

1 Ответ

0 голосов
/ 25 июня 2019

Ошибка говорит о том, что в текущей области нет имени Feedback.

Однако вы можете решить проблему, используя такой код:

df['New'] = ''  # Adding a new column
df['New'][df['Feedback'].str.contains(r'^[_\W]+$')] = "Invalid" # Invalid if matched
df['New'][~df['Feedback'].str.contains(r'^[_\W]+$')] = "valid"  # Valid if not matched
...