在数据框的对象列中找到只有特殊字符的条目

In an object column of a data frame find the entries which only have special characters

我有一个包含多列的数据集。在具有文本条目(反馈)的特定列中,想要标记所有那些只有特殊字符的条目。

我知道如何删除整列中的特殊字符,但我无法标记那些只有特殊字符的行

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)

当我使用 运行 这些函数时,我收到一个错误 - "name 'Feedback' is not defined"

该错误告诉您当前范围内没有 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