Я хочу совместить вменение влечения Склеарна и Ffill Panda, чтобы заполнить отсутствующие данные. Это то, что мой dataFrame, df
выглядитPandas Ffill на строках, которые содержат только NaN
FeatA FeatB FeatC FeatD
B A B D
NaN NaN NaN NaN
A A B C
NaN A A A
NaN B A A
Я хочу использовать Ffill для заполнения строки, которые содержат только NaN
(например строка 2), с предыдущим значением.
Если строки содержат только несколько NaN
, например, если имеется не менее 1 значения, используйте вменение, чтобы заполнить NaN самым частым значением в строке.
Я использую LabelEncoder для преобразования значений String в целые числа - это в алфавитном порядке. A=0, B=1, C=2, D = 3
. Для того, чтобы убедиться, что NaN получить значение 4, преобразовать NaN в «Z» - с помощью data = df.fillna("Z")
Я тогда приписывать данные так, что любое значение с Z
заполняется наиболее часто встречающееся значение в ряду - imp = Imputer(missing_values=4, strategy= 'most_frequent', axis=1)
Итак, я хочу заполнить строки, которые имеют только NaN
, используя ffill
.
Затем я использую LabelEncoder и вменение, чтобы заполнить другие NaN
наиболее частое значение в строке.
Если я могу выбрать строки, которые содержат только NaN
, и примените функцию ffill
только к этим строкам, тогда я могу использовать вменение в другом Нань. Как я могу это сделать?
'df. fillna (метод = 'ffill', inplace = True) '. Это будет распространять последнее действительное наблюдение вперед и соответственно изменять значения «Нан». –
«Итак, я хочу заполнить строки, которые имеют только NaN, используя ffill». Это сделало бы строку такой же, как в приведенной выше строке. Почему бы вам просто не удалить эту строку? – ayhan
Это для ввода в классификационную модель - я не хочу удалять пустые строки – gbhrea