2016-07-23 10 views
0

Попытка получить некоторые большие данные панели из excel в python, поэтому я могу сделать некоторый анализ регрессии данных в массиве GMM/Cross Sectional (думаю, пакет sci-kit). Я переместил свои данные с excel на Python, но формат для регрессионного анализа неверен (см. Ниже). На сайте Scikit есть несколько наборов данных, с которыми можно играть, но это не очень полезно для обсуждения форматов и того, как получить ваши данные в аналогичном формате, чтобы получить мои данные на Python.Excel для Python для больших данных панели, формат регрессии готов?

Есть ли у кого-нибудь опыт использования данных excel (.xlsx) и получение его в Python, «регрессионный»?

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

Вот мой формат dataframe, от excel до Python. (это обрезается от формы набора данных 10000 X 60)

BANKS YEARS  CIR   DSF EQCUS  EQLI  EQNT  EQUITY 
0  CR1 2005 65.46 927915.00 28.553 23.948 37.542 264946.50 
1  CR1 2006 65.98 1026491.00 30.491 26.584 36.143 312986.00 
2  CR1 2007 60.26 1437615.00 27.003 23.413 28.238 388197.20 
3  CR1 2008 58.08 1605464.00 24.024 20.160 25.828 385696.80 
4  CR1 2009 65.21 1538570.00 28.160 22.850 27.907 433267.30 
5  CR1 2010 54.45 1822863.00 31.009 24.555 28.274 565254.60 
6  CR1 2011 57.38 2075505.00 30.905 24.861 29.618 641440.50 
7  CR1 2012 62.12 2533641.00 29.595 24.509 28.883 749821.50 

типы данных:

>>>df.dtypes 

BANKS     object 
YEARS     int64 
CIR     float64 
DSF     float64 
EQCUS     float64 
EQLI     float64 
EQNT     float64 
EQUITY     float64 

Unicode в столбцах (я не думаю, что научно-кит любит это!)

>>>df.columns.tolist() 

[u'BANKS', u'YEARS', u'CIR', u'DSF', u'EQCUS', u'EQLI', u'EQNT', u'EQUITY'] 
+0

Я не вижу никаких проблем с набором данных. Это панда данных, и его можно использовать в scikit-learn. В чем проблема, с которой вы сталкиваетесь при использовании этого набора данных? – ayhan

+0

Я предполагаю, что на странице scikit-learn я не вижу никакой документации для ввода данных excel. Все, что я вижу, - это уже загруженные их наборы данных, а затем они начинают извлекать функции и подходят для модели. Как я запустил базовую OLS для этих данных выше? Я не вижу этого нигде на странице scikit. У Statsmodels есть аналогичные проблемы с документацией. – StringTheo

ответ

0

Я не уверен, какие столбцы вы включаете в регрессию или какие ошибки вы получаете, но вы не можете использовать категориальные переменные в регрессиях (например, «БАНКИ»). Вам нужно преобразовать категориальный var в dummy vars (двоичный код 0/1) и исключить исходную категориальную переменную из вашей регрессии.

Я также не считаю, что вы можете включать строки с отсутствующими точками данных, поэтому вам нужно либо приложить данные, либо удалить строки. (df.fillna in pandas)

Возможно, вы захотите рассмотреть возможность использования pandas для управления наборами данных в python. Это пакет, который вы можете установить и импортировать в python, и делает python более похожим на R или STATA. Там хороший учебник здесь: http://pandas.pydata.org/pandas-docs/stable/10min.html

Панды даже имеет функцию преобразования категориальные переменные в фиктивные переменные: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html

Надежда, которая помогает ...

+0

Спасибо за ссылки! Сейчас я использую панды. Переменная «банки» не используется как регресс, а указывает данные панели. Мне просто нужно немного помочь с регрессией этих данных в том формате, в котором он находится. Я очень удивлен, что информация о регрессиях в Python настолько скудна, когда речь идет об импорте данных через форму «stata» или «R». – StringTheo

+0

Я подготовил данные через панды, см. Мои другие вопросы, так как я использовал команды «расплавить», «поворот» и «групповой». На данный момент я просто ищу, чтобы запустить регрессию, OLS, чтобы мои данные перемещались через sci-kit. – StringTheo

+0

нет проблем :) В чем проблема, с которой вы столкнулись? – ccook5760