【发布时间】:2017-08-18 19:48:32
【问题描述】:
我正在尝试使用 statsmodel 来构建一些 logit 模型。我遇到了一个错误,它告诉我转换为浮点数时出错。
logit = sm.Logit(logit_df.isFraud, logit_df.columns[1:])
ValueError: could not convert string to float: 'high_fraud_cities'
如果我删除 high_fraud_cities,我只会在不同的列上得到另一个错误
我有一个数据框:
- isFraud(二进制)
- 距离(整数)
- high_fraud_cities(二进制)
- is_mobile(二进制)
isFraud distance high_fraud_cities is_mobile
0 24 1 0
1 371 1 1
0 8 0 0
我试图找到数据类型:
logit_df.dtypes
得到以下结果:
- int64
- float64
- int64
- int32
我尝试了本网站推荐的一些方法,包括:
astype
logit = sm.Logit(logit_df.isFraud.astype(float), logit_df.columns[1:].astype(float))
to_numeric
logit_df.isFraud = pd.to_numeric(logit_df.isFraud, errors='coerce')
我导出到 Excel 以检查其中是否有隐藏字符串或 NaN,但它没有显示任何此类问题。有关如何解决此问题的任何建议?
提前致谢!
【问题讨论】:
-
能否分享您的数据样本?
-
是的。请参阅上面的修改!
标签: python pandas statsmodels