Лучший способ заполнить nans, получив среднее значение из нескольких столбцов ⇐ Python

Программы на Python
Anonymous
Лучший способ заполнить nans, получив среднее значение из нескольких столбцов

Сообщение Anonymous »

У меня есть фрейм данных с отзывами о ресторанах. столбцу «Настроение описания» присвоена оценка в диапазоне от -1,00 до +1,00. Некоторые строки имеют значение 0 (из-за некоторых других факторов в кадре данных), поэтому я хотел бы интерполировать некоторые строки на основе другой информации, например оценки награды.

Код: Выделить всё

interpolate_cols = ["description_sentiment", "Award_ordinal"]
Насколько я понимаю, лучшая практика интерполяции — установить маску и использовать ее для каждого возможного значения, как, например, в последнем блоке ниже.

Код: Выделить всё

nan_mask = (michelin["description_sentiment"]==np.nan)

award1_mask = (michelin["Award_ordinal"]==1)
award2_mask = (michelin["Award_ordinal"]==2)
award3_mask = (michelin["Award_ordinal"]==3)
award4_mask = (michelin["Award_ordinal"]==4)
award5_mask = (michelin["Award_ordinal"]==5)

michelin.loc[nan_mask & award1_mask, "description_sentiment"] = michelin.loc[award1_mask, "description_sentiment"].mean()
...
а затем перечислить все возможные значения.
Мой вопрос: что происходит, когда сложность данных увеличивается, т. е. когда важная информация поступает из дюжину других столбцов. лучший способ действительно перечислить все по отдельности? или есть более программный способ, например:

Код: Выделить всё

interpolate() np.nan for col.unique(), col.unique(), col.unique()
большое спасибо.

Подробнее здесь: https://stackoverflow.com/questions/790 ... le-columns

Вернуться в «Python»