pandas против statsmodels, цифры c переменная с указанными c значениями - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть pandas DataFrame с двумя столбцами, один из которых содержит числовые данные, а другой - логическое значение.

Хотя числовой столбец в принципе может иметь много разных значений в контексте эксперимента который генерировал данные, может иметь место только небольшой набор значений c, например, [1.0, 1.2, 1.4, 1.6]. Более того, не каждый набор данных (фрейм) на самом деле содержит все эти возможные значения.

Теперь я хочу сделать две разные вещи с каждым набором данных:

  1. Вычислить таблицу сопряженности pandas.crosstab, но так, чтобы каждое возможное значение было указано в таблице (хотя и с записью 0) для каждого набора данных. Чтобы убедиться, что это произошло, я преобразовал соответствующий столбец в категориальный, используя

    .astype('category').cat.set_categories(possible_values)
    
  2. Подходит регрессионную модель логистики c, используя statmodels.Logit. К сожалению, Logit жалуется, когда переменная является категориальной, и это правильно, поскольку регрессия по категориальной переменной не определена.

Вопрос: Есть ли способ сообщить pandas, каковы возможные значения Series, чтобы получить полную таблицу непредвиденных обстоятельств, не нарушая statsmodels?

Я знаю, что могу обойти это, просто имея два разных Series одно числовое и одно категориальное. Но это кажется мне очень неуместным, и мне интересно, есть ли лучший способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...