我正在尝试使用scikit对熊猫中的一个数据帧进行热编码,即:
enc = sk.preprocessing.OneHotEncoder(categories='auto', drop=None, sparse=True, n_values='auto')
enc.fit(myDataframe)
执行该操作,我收到以下错误:
TypeError: argument must be a string or number
回头一点,我发现另一个错误:
TypeError: '<' not supported between instances of 'float' and 'str'
因此,我感到某些列包含混合数据类型。
我怎么才能准确知道问题出在哪里?我尝试了here接受的答案,但这对我不起作用,即它表示True,而数据类型显然相同,所以我不知道出了什么问题。
我还尝试将数据帧写入csv文件中,然后将其重新加载以检查pandas是否抛出here中所述的混合dtypes警告,但这也不会发生。