Ich habe ein bisschen eine schwierige Zeit zu verstehen, wie die Panel OLS in Pandas zu implementieren. Ich habe Hilfe zu diesem Thema erhalten und dachte, ich würde die Situation verstehen. Jetzt, wo ich versuche zu implementieren, habe ich Schwierigkeiten. Im Folgenden finden Sie meine Daten:Pandas: Probleme bei der Implementierung von Panel OLS
url='https://raw.githubusercontent.com/108michael/ms_thesis/master/crsp.dime.mpl.df.1'
df=pd.read_csv(url, usecols=(['date', 'cid', 'log_diff_rgdp', 'billsum_support', \
'years_exp', 'leg_totalbills', 'log_diff_rgdp', 'unemployment', 'expendituresfor',\
'direct_expenditures', 'indirect_expenditures', 'Republican', 'sen'])))
df.head(1)
cid date log_diff_rgdp unemployment leg_totalbills years_exp Republican sen billsum_support expendituresfor direct_expenditures indirect_expenditures
0 N00013870 2007 0.026069 4.6 44 5 1.0 1.0 1.0 4.0 4.0 0.0
df=df.T.to_panel()
df=df.transpose(2,0,1)
df
<class 'pandas.core.panel.Panel'>
Dimensions: 505 (items) x 10 (major_axis) x 72 (minor_axis)
Items axis: N00000010 to N00035686
Major_axis axis: 2005 to 2014
Minor_axis axis: index to indirect_expenditures
Es ist mein Verständnis (ich glaube ich daran falsch sein könnte), dass die Items axis
alle der panels
enthält; dass die Minor_axis
alle Spalten in jedem der panels
enthält; und dass die Major_axis
die time index
ist. Ich habe die erste Zeile meiner Daten vor dem Senden an Panel
und billsum_support
ist die vierte von der letzten Spalte geschrieben; aber wenn ich versuche, mit billsum_support
als die Y
Variable zurückzugehen, erhalte ich den folgenden Fehler.
reg=PanelOLS(y=df['billsum_support'],x=df[['years_exp', 'unemployment', 'dir_ind_expendituresfor']],time_effects=True)
reg
KeyError Traceback (most recent call last)
/home/jayaramdas/anaconda3/lib/python3.5/site-packages/pandas/indexes/base.py in get_loc(self, key, method, tolerance)
1875 try:
-> 1876 return self._engine.get_loc(key)
1877 except KeyError:
pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4027)()
pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:3891)()
pandas/hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12408)()
pandas/hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12359)()
KeyError: 'billsum_support'
Ich habe das Arbeitsbeispiel here gesehen, aber diese Person scheint ihre Daten in gestapelten Format statt Panel zu haben. Gibt es jemanden, der Erfahrung mit OLS Panel hat und verstehen kann, was ich hier falsch mache?