如何解决此“TypeError:float()参数必须是字符串或数字,而不是'method'”错误?

2024-04-25 01:50:35 发布

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

我尝试使用填充器将数据库中所有的NaN部分替换为其相应列的平均值。例如,我想修复数据库中salary列下的一个空白条目,并希望用该列下的平均工资值填充该空白部分。我试着按照教程来做,但我认为视频过时了,导致了这个错误。
代码:

#Data Proccesing 

#Importing the Libaries 
import numpy as np
import matplotlib.pyplot as plt 
import pandas as pd

# Importing the dataset 
dataset = pd.read_csv("Data.csv") 
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 3].values 

#Taking care of Missig Data 
from sklearn.preprocessing import Imputer 
#The source of all the problems
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)
imputer = imputer.fit(X[:, 1:3]) 
X[:, 1:3] = imputer.transform

最初,在使用Imputer之前编译X时,X是这样的:X prior to Imputer

然而,一旦我编译了第16-18行,我得到了这个错误,我不知道该怎么做The "TypeError: float() argument must be a string or a number, not 'method'" Error


Tags: csvtheimport数据库dataas错误nan