Python 3.x 在';str';和';浮动';

Python 3.x 在';str';和';浮动';,python-3.x,pandas,machine-learning,Python 3.x,Pandas,Machine Learning,在处理csv文件中缺少的以下列数据时,会抛出TypeError。如何解决此问题 trainData.Gender.fillna(trainData.Gender.max(),inplace =True) trainData.Married.fillna(trainData.Married.max(),inplace=True) TypeError: '>=' not supported between instances of 'str' and 'float' trainData.d

在处理csv文件中缺少的以下列数据时,会抛出TypeError。如何解决此问题

trainData.Gender.fillna(trainData.Gender.max(),inplace =True)
trainData.Married.fillna(trainData.Married.max(),inplace=True)

TypeError: '>=' not supported between instances of 'str' and 'float'

trainData.dtypes
    Loan_ID               object
    Gender                object
    Married               object
    Dependents            object
    Education             object
    Self_Employed         object
    ApplicantIncome        int64
    CoapplicantIncome    float64
    LoanAmount           float64
    Loan_Amount_Term     float64
    Credit_History       float64
    Property_Area         object
    Loan_Status           object

这样做实际上是在考虑丢失的数据(NaN,被视为浮点数)来寻找最大值。因此:

trainData.Gender.fillna(trainData.Gender.max(),inplace =True)
将尝试比较str和float

您需要执行以下操作:

trainData.Gender.fillna(trainData.Gender.dropna().max(),inplace =True)
trainData.Gender.fillna(trainData.Married.dropna().max(),inplace =True)

我在拟合模型时也遇到了同样的问题

我做到了:

trainData=trainData.fillna("")

它解决了我的问题。同意上面的@Victorgi单词。缺少的值被视为
float
,而其他值被视为
str

我遇到了一个非常类似的问题,错误信息是:“你救了我,萨克斯。”
data.Outlet_Size = data.Outlet_Size.fillna('')
data = data.fillna('')
data[['column1','column2']] = data[['column1','column2']].fillna('')