TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“DataFrame”
Posted
技术标签:
【中文标题】TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“DataFrame”【英文标题】:TypeError: int() argument must be a string, a bytes-like object or a number, not 'DataFrame' 【发布时间】:2016-12-06 08:42:18 【问题描述】:我有数据框,我需要在使用最近邻法之前对质量进行评估。
我使用sklearn.cross_validation.KFold
,但我不知道,我怎样才能给这个函数一个数据框。
quality = KFold(df, n_folds=5, shuffle=True, random_state=42)
但它会返回
TypeError: int() argument must be a string, a bytes-like object or a number, not 'DataFrame'
我该如何解决?
【问题讨论】:
【参考方案1】:您应该传递要执行拆分的行数:
quality = KFold(len(df), n_folds=5, shuffle=True, random_state=42)
这将使用 df 的行数并返回一个索引数组来执行拆分,然后您可以使用它来切片 df:
for train_index, test_index in quality:
# do something with slices
df.iloc[train_index]
df.iloc[test_index]
如果您的 df 索引是 int64 索引并且是单调的并且从 0
增加,那么您可以使用 loc
而不是 iloc
【讨论】:
以上是关于TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“DataFrame”的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“DataFrame”
Django TypeError int() 参数必须是字符串或数字,而不是 'QueryDict'
Python 2 - TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是“列表”
TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是使用 Python 3.7 时的“NoneType”
Django 保存到 DB:TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“元组”
Paypal - 捕获订单 - 类型错误:strtolower():参数 #1 ($string) 必须是字符串类型,给定 int