Python 如何使用;套用;使用数据帧并避免设置CopyWarning?

Python 如何使用;套用;使用数据帧并避免设置CopyWarning?,python,pandas,dataframe,apply,Python,Pandas,Dataframe,Apply,我正在对数据帧使用以下函数: df['error_code'] = df.apply(lambda row: replace_semi_colon(row), axis=1) 嵌入式功能是: def replace_semi_colon(row): errrcd = str(row['error_code']) semi_colon_pat = re.compile(r'.*;.*') if pd.notnull(errrcd): if semi_c

我正在对数据帧使用以下函数:

df['error_code'] = df.apply(lambda row: replace_semi_colon(row), axis=1)
嵌入式功能是:

def replace_semi_colon(row):
    errrcd = str(row['error_code'])  
    semi_colon_pat = re.compile(r'.*;.*')

    if pd.notnull(errrcd):

      if semi_colon_pat.match(errrcd):
        mod_error_code = str(errrcd.replace(';',':'))
        return  mod_error_code

    return errrcd
但我收到的是著名的

使用copywarning设置

我读过很多帖子,但仍然不知道如何预防它

奇怪的是,我以同样的方式使用其他
apply
函数,但它们不会抛出相同的错误


有人能解释一下我为什么会收到这个警告吗?

在应用
之前,还有一句话:

df = df.query('error_code != "BM" and eror_code != "PM"')
我将其修改为:

df.loc[:] = df.query('error_code != "BM" and eror_code != "PM"')

这就解决了问题。

我无法用pandas版本0.23.4复制您的问题