2016-07-23 33 views
0

Versuchen, einige große Panel-Daten von Excel in Python zu bekommen, so dass ich einige GMM/Querschnitt Panel Daten Regressionsanalyse (Think Sci-Kit-Paket) tun kann. Ich habe meine Daten von Excel nach Python verschoben, aber das Format für die Regressionsanalyse ist nicht korrekt (siehe unten). Die Scikit-Website enthält einige Datensätze, mit denen man spielen kann, aber es ist nicht wirklich hilfreich, über Formate zu diskutieren und wie man Daten in ein ähnliches Format bringt, um meine Daten in Python zu bekommen.Excel zu Python für große Panel-Daten, regressfähiges Format?

Hat jemand Erfahrung mit Excel (.xlsx) -Daten und bekommen es in Python, 'Regressionsbereit'?

Ich habe bereits meine benötigte Regressionsanalyse in R und Stata gemacht, aber ich würde gerne Python besser für die Regressionsanalyse verwenden, da es einige nette Attribute hat.

Hier ist mein Dataframe-Format bisher, von Excel zu Python.

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 

Datentypen (das von einem 10.000 X 60 Form-Datensatz abgeschnitten wird):

>>>df.dtypes 

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

Unicode in den Spalten (Ich glaube nicht, Sci-Kit, das mag!)

>>>df.columns.tolist() 

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

Ich habe kein Problem mit dem Datensatz sehen. Es ist ein Pandas Datenrahmen und kann in scikit-learn verwendet werden. Auf welches Problem stoßen Sie bei der Verwendung dieses Datasets? – ayhan

+0

Ich denke, auf der scikit-learn-Seite sehe ich keine Dokumentation für die Eingabe von Excel-Daten. Alles, was ich sehe, ist, dass ihre Datasets bereits geladen sind und dann beginnen sie, Features zu extrahieren und das Modell anzupassen. Wie kann ich für diese Daten eine grundlegende OLS ausführen? Ich sehe das nirgends auf der Scikit-Seite. Statsmodels hat ähnliche Dokumentationsprobleme. – StringTheo

Antwort

0

Ich bin nicht sicher, welche Spalten Sie in die Regression einbeziehen oder welche Fehler Sie bekommen, aber Sie können keine kategorialen Variablen in Regressionen verwenden (wie 'BANKS'). Sie müssen die kategorische Variable in Dummy-Variablen (binär 0/1) konvertieren und die ursprüngliche kategoriale Variable von Ihrer Regression ausschließen.

Ich glaube auch nicht, dass Sie Zeilen mit fehlenden Datenpunkten einfügen können, also müssen Sie entweder die Daten imputieren oder die Zeilen löschen. (df.fillna in pandas)

Vielleicht möchten Sie Pandas verwenden, um Datensätze in Python zu verwalten. Es ist ein Paket, das Sie in Python installieren und importieren können, und macht Python mehr wie R oder STATA verhalten. Es gibt ein schönes Tutorial hier: http://pandas.pydata.org/pandas-docs/stable/10min.html

Pandas hat sogar eine Funktion zur Umwandlung von kategorialen Variablen in Dummy-Variablen: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html

Hoffnung, das hilft ...

+0

Danke für die Links! Ich benutze jetzt Pandas. Die Variable 'banken' wird nicht als Regressor verwendet, sondern dient zur Anzeige von Panel-Daten. Ich brauche nur ein wenig Hilfe mit einer Regression dieser Daten in dem Format, in dem sie sich befindet. Ich bin sehr überrascht, dass die Informationen über Regressionen in Python so gering sind, wenn es darum geht, Daten über 'Stata' oder 'R' zu importieren. – StringTheo

+0

Ich bereitete die Daten über Pandas vor, siehe meine anderen Fragen, da ich die Befehle 'schmelzen', 'pivot' und 'groupby' verwendet habe. In diesem Moment suche ich nur Regression, OLS, um meine Daten via Sci-Kit zu bewegen. – StringTheo

+0

kein Problem :) Was ist das Problem, das Sie laufen? – ccook5760