Ввод значений через определяемую пользователем функцию в столбце кадра данных pandas, когда задано определенное условие - PullRequest
0 голосов
/ 09 мая 2019

У меня есть пандас DataFrame со столбцом «A», представляющим категориальную переменную, которая может иметь неизвестные значения, помеченные как «-1».Я хотел бы заменить неизвестные значения случайно сгенерированной выборкой переменной с учетом их частот.

Пример:

    'A' 
0   cat
1   dog
2   -1
3   dog
4   dog 

Введите значение «-1» для случайной выборки (кошка, собака) с вероятностью выбора их количества, т. Е. (1,3)

Я могу легко получить возможные значения и счетчики с помощью

vals, counts = np.unique(df['A'], return_counts=True), 

, а затем с помощью

random.choices(vals, counts)  

я могу взять их образцы, так что функция построена.

Как заменить записи "-1" столбца на выходное значение применения функции?

1 Ответ

0 голосов
/ 09 мая 2019

Было бы полезно понять ваш вопрос, если бы у нас был пример ввода и вывода, но вы должны быть в состоянии использовать np.where в серии Что-то вроде

df['A']=np.where(df['A'] == -1,func(),df['A']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...