Как мне заменить значения пропорционально значениям «NaN» во фрейме данных, используя другой столбец?

Я пытаюсь заполнить данные NaN соответствующими данными на основе наблюдаемых отношений между двумя категориальными данными в кросс-таблице.

введите здесь описание изображения

До сих пор я научился заменять его по этой формуле:

train.loc[train.Outlet_Type =='Grocery Store','Outlet_Size']='Small'

но что, если я хочу заменить значения NaN на 3 разных значения вместо одного (например, «маленький», «Средний», «Высокий») пропорционально на основе доли каждого значения в приведенной выше кросс-таблице для «Супермаркет Type1».

Я был бы признателен, если бы вы могли дать мне совет по этому вопросу.


person Younes Sandi    schedule 13.05.2020    source источник
comment
Можете ли вы немного уточнить свой вопрос? В основном вы хотели заменить NaN другими значениями и некоторыми критериями, если я не ошибаюсь. не так ли?   -  person Ravi kumar    schedule 13.05.2020
comment
Пожалуйста, проверьте это stackoverflow.com/questions/57586275/ это может помочь вам в каком-то направлении.   -  person Ravi kumar    schedule 13.05.2020
comment
@Ravikumar, это было весьма полезно, спасибо. Однако я ищу решение для заполнения значений NA более чем двумя значениями, а не тем, которое упоминалось в этом сообщении. представьте ситуацию, когда мы сталкиваемся с 20000 значений NA, и нам нужно пропорционально заполнить их 100 значениями, чтобы повысить точность модели, применение этого метода требует слишком много времени. у вас есть предложения по этому поводу? Я думал поместить эту строку кода в цикл и дать аргументу frac' в функции sample() список пропорций, но, честно говоря, я недостаточно опытен, чтобы знать, как это сделать.   -  person Younes Sandi    schedule 15.05.2020


Ответы (1)


Пожалуйста, ознакомьтесь с этим связанным решением для замены NaN несколькими значениями.

это может привести вас в каком-то направлении.

person Ravi kumar    schedule 13.05.2020
comment
Извините... это не ответ. Так что предлагаю писать в комментариях - person Anwarvic; 13.05.2020