“str”和“float”实例之间不支持

新手上路,请多包涵

在处理 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

原文由 user63827 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 606
1 个回答

这样做实际上是在考虑缺失数据(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)

原文由 VictorGGl 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进