有没有办法替换熊猫数据框中的所有子字符串?

时间:2021-06-21 13:47:52

标签: python pandas dataframe data-cleaning

我正在尝试从我的数据框中清除 [xReturn] 的所有实例,并将其替换为空格 ( )。但是,当我尝试下面的代码时,它只会删除 [xReturn] 的值,而不会删除其他值。例如,"abcde[xReturn]fghij" 保持不变,而 "[xReturn]" 变为 。我试过设置 regex=True 但这也不起作用。它删除 [xReturn] 中任何字符的任何实例。我想让"abcde[xReturn]fghij"变成"abcdefghij"。有没有办法使用 df.replace() 来做到这一点?

我的代码:

df = df.replace('[xReturn]', ' ')

2 个答案:

答案 0 :(得分:1)

您可以使用:

df['column_name'] = df['column_name'].str.replace('[xReturn]', ' ', regex=False)

str 允许您使用矢量化字符串函数,因为您希望对字符串内容执行 replace() 操作,而不是对数据帧本身。

编辑 如果要对所有 str 列执行操作,可以执行以下操作:

for c in df.select_dtypes(include='object').columns:
    df[c] = df[c].str.replace('[xReturn]', ' ', regex=False)

答案 1 :(得分:1)

试试:

df = df.astype(str).replace("\[xReturn\]", "", regex=True)
相关问题