pandas 在字典中使用正则表达式删除不需要的符号

fzwojiic  于 2023-05-12  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个数据集,其中每一行都包含一个列表。我想删除数据集中不需要的符号,并将包含[]的数据替换为none。但是,编码不起作用。

这里是数据清理的代码。

def clean_data(data):
    cleaned_data = []

    for item in data:
        cleaned_item = {}
        for key, value in item.items():
            if isinstance(value, str):
                # Replace '[]' with 'None'
                value = value.replace('[]', 'None')
                # Convert to lowercase
                value = value.lower()
                # Remove unwanted characters
                value = re.sub(r'[\[\]{}\'"]', '', value)  # Update the regular expression
            cleaned_item[key] = value
        cleaned_data.append(cleaned_item)

    return cleaned_data

运行编码后,符号仍然没有被删除。

k4emjkb1

k4emjkb11#

示例

df = pd.DataFrame(["'[{A}', '[{B}]'", "'[{C}', '[{D}]'"], columns=['col1'])

df

col1
0   '[{A}', '[{B}]'
1   '[{C}', '[{D}]'

编码

df['col1'] = df['col1'].str.replace(r"[\[\]{}\']", "", regex=True)

df

col1
0   A, B
1   C, D

相关问题