如何使用带关键字参数的replace()方法替换空字符串

2024-05-06 07:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用pandas.DataFrame.replace()通过下面的代码在帧中填充空字符串。在

主数据集=[列车数据,测试数据,备用数据1,备用数据2]

for data in main_datasets:
    for x in data:
        if type(x) == 'int':
            x.fillna(x.median(), inplace = True)
        elif type(x) == 'float':
            x.fillna(x.median(), inplace = True)
        else:
            x.replace(to_replace = None, value = 'N/A', inplace = True)    

但是,我继续收到以下异常,尽管对关键字值使用了字符或数字并删除了关键字名称:

^{pr2}$

为什么从“value='N/A”引发此错误

以下是一些字段的特殊示例(用逗号分隔):

12123423, 0, M, Y, 120432.5

12654423, 1, F, N, 80432.5

12123423, 0, M, Y, 120432.5

12123423, 0, M, Y, 120432.5


Tags: 数据代码intruedataframepandasfordata
2条回答

您试图使用pandas.DataFrame.replace()方法,但实际上使用的是string.replace方法。在

我怀疑所有这些都会失败,但是你首先要解决的是非int和非float的情况。如果x是一个int,那么它不是一个DataFrame,并且没有.fillna方法。类似地,字符串有Python的replace方法,但它有不同的函数签名。在

df.replace()string.replace()

str.replace(old, new[, max])

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)

我还怀疑您试图使用Series.dtype而不是键入。在

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.replace.html

正如评论中所提到的那样

x.replace(None, 'N/A', True)

相关问题 更多 >