我试着用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
您试图使用
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
正如评论中所提到的那样
相关问题 更多 >
编程相关推荐