Statsmodels Категориальные данные из формулы (с использованием панд)

Я пытаюсь завершить домашнее задание, и для этого мне нужно использовать категориальные переменные в statsmodels (из-за отказа от использования stata, как и все остальные). Я потратил некоторое время на чтение документации для Patsy и Statsmodels, и я не могу понять, почему этот фрагмент кода не работает. Я попытался сломать их и создать с помощью патчей команд, но придумать ту же ошибку.

В настоящее время у меня есть:

import numpy as np import pandas as pd import statsmodels.formula.api as sm # This is where I'm getting data data = pd.read_csv("http://people.stern.nyu.edu/wgreene/Econometrics/bankdata.csv") # I want to use this form for my regression form = "C ~ Q1 + Q2 + Q3 + Q4 + Q5 + C(BANK)" # Do the regression mod = sm.ols(form, data=data) reg = mod.fit() print(reg.summary2()) 

Этот код вызывает ошибку, которая говорит: TypeError: 'Series' object is not callable . Здесь есть очень похожий пример на веб-сайте statsmodels, который, кажется, работает нормально, и я не уверен, в чем разница между тем, что я делаю, и тем, что они делают.

Любая помощь очень ценится.

ура

One Solution collect form web for “Statsmodels Категориальные данные из формулы (с использованием панд)”

Проблема в том, что C – это имя одного из столбцов в вашем DataFrame, а также паттинг-способ обозначить, что вы хотите категориальную переменную. Самое простое исправление – просто переименовать столбец как таковой:

data = data.reaname_axis({'C': 'C_data'}, axis=1) form = "C_data ~ Q1 + Q2 + Q3 + Q4 + Q5 + C(BANK)"

Тогда вызов sm.ols будет работать.

Сообщение об ошибке TypeError: 'Series' object is not callable может быть TypeError: 'Series' object is not callable может быть интерпретировано следующим образом:

  • patsy интерпретирует C как столбец кадра данных. В этом случае это были бы data['C'] Серии data['C']
  • Затем тот факт, что это немедленно следует скобкой, заставил statsmodels попытаться вызвать data['C'] как функцию с аргументом BANK . Объекты серии не реализуют метод __call__ , поэтому появляется сообщение об ошибке, что 'Series' object is not callable .

Удачи!

  • Python - Прокручивающееся окно Оценка регрессии OLS
  • Почему t-тест в Python (scipy, statsmodels) дает результаты, отличные от R, Stata или Excel?
  • ValueError: numpy.dtype имеет неправильный размер, попробуйте перекомпилировать
  • Pandas Statsmodels ols прогнозирование регрессии с использованием предсказателя DF?
  • Как я могу выполнить тест отношения правдоподобия на линейной модели смешанного эффекта?
  • Различные результаты при вычислении линейных регрессий с scipy.stats и statsmodels
  • ANOVA в python с использованием рамки данных pandas с statsmodels или scipy?
  • Наивысшая область засушливой плотности и Центральный заслуживающий доверия регион
  •  
    Interesting Posts for Van-Lav

    Как быстро получить доступ ко всем значениям, соответствующим определенному ключу второго уровня, независимо от ключа первого уровня в словаре Python?

    dtype несоответствие в sklearn на k-средствах

    Как пройти через «следующий» URL-адрес с помощью флажка и флажка?

    PyQt4 принудительно отображает выбор из QAbstractItemModel

    Groupby Pandas DataFrame и вычислить среднее значение и stdev одного столбца и добавить std в качестве нового столбца с параметром reset_index

    Как преобразовать текст в пути?

    возможно ли слияние пустых нечетких совпадений с python pandas?

    Python: Is isstance () необходимо в этом случае?

    numpy – обновлять значения с помощью среза, учитывая значение массива

    ServiceNow – Как использовать SOAP для загрузки отчетов

    Производительность кода Python уменьшается с потоками

    Агрегирование save () s в Django?

    Flask-Login вызывает TypeError: объект «bool» не может быть вызван при попытке переопределить свойство is_active

    Как применить фильтр к сигналу в python

    Распространение скриптов Python без расширения .py

    Python - лучший язык программирования в мире.