Я знаю, что есть много вопросов с той же проблемой, но ни один из них не решает мою проблему.Я использую ноутбук Jupyter в Amazon Sagemaker и хочу использовать трюк для хеширования для некоторых функций.Я не смог сделать воспроизводимый пример с простыми данными, но вот экран данных, которые у меня есть:
Итак, я использовал:
from sklearn.feature_extraction import FeatureHasher
h = FeatureHasher(n_features=10,input_type="string")
df['country_iso_code'] = h.transform(df['country_iso_code'])
h = FeatureHasher(n_features=10,input_type="string")
df['origen_tarjeta_country_iso'] = h.transform(df['origen_tarjeta_country_iso'])
Первое преобразование работает, но второе - нет, и я получаю объект 'float' - не повторяемая ошибка.Я проверил типы обоих столбцов, и они являются объектами, а также я проверил, что в обоих столбцах есть только строки.Я попытался воспроизвести код в Spyder с очень небольшим примером, и он работает:
import pandas as pd
from sklearn.feature_extraction import FeatureHasher
df = pd.DataFrame({'ES':'ES','UK':'UK'},index=[0,1])
h = FeatureHasher(n_features=10,input_type="string")
df['UK'] = h.transform(df['UK'])
h = FeatureHasher(n_features=10,input_type="string")
df['ES'] = h.transform(df['ES'])