| 
47 | 47 |    "metadata": {},  | 
48 | 48 |    "outputs": [],  | 
49 | 49 |    "source": [  | 
50 |  | -    "mi_data = data.set_index([\"fcode\", \"year\"])\n",  | 
 | 50 | +    "orig_mi_data = data.set_index([\"fcode\", \"year\"])\n",  | 
 | 51 | +    "# Subset to the relevant columns and drop missing to avoid warnings\n",  | 
 | 52 | +    "mi_data = orig_mi_data[[\"lscrap\",\"hrsemp\"]]\n",  | 
 | 53 | +    "mi_data = mi_data.dropna(axis=0, how=\"any\")\n",  | 
 | 54 | +    "\n",  | 
51 | 55 |     "print(mi_data.head())"  | 
52 | 56 |    ]  | 
53 | 57 |   },  | 
 | 
88 | 92 |    "source": [  | 
89 | 93 |     "import numpy as np\n",  | 
90 | 94 |     "\n",  | 
91 |  | -    "np_data = np.asarray(mi_data)\n",  | 
92 |  | -    "np_lscrap = np_data[:, mi_data.columns.get_loc(\"lscrap\")]\n",  | 
93 |  | -    "np_hrsemp = np_data[:, mi_data.columns.get_loc(\"hrsemp\")]\n",  | 
 | 95 | +    "np_data = np.asarray(orig_mi_data)\n",  | 
 | 96 | +    "np_lscrap = np_data[:, orig_mi_data.columns.get_loc(\"lscrap\")]\n",  | 
 | 97 | +    "np_hrsemp = np_data[:, orig_mi_data.columns.get_loc(\"hrsemp\")]\n",  | 
94 | 98 |     "nentity = mi_data.index.levels[0].shape[0]\n",  | 
95 | 99 |     "ntime = mi_data.index.levels[1].shape[0]\n",  | 
96 | 100 |     "np_lscrap = np_lscrap.reshape((nentity, ntime)).T\n",  | 
 | 
104 | 108 |    "metadata": {},  | 
105 | 109 |    "outputs": [],  | 
106 | 110 |    "source": [  | 
 | 111 | +    "# Warnings are inevitable when using NumPy with missing data\n",  | 
 | 112 | +    "# since the arrays must be rectangular, and not ragged\n",  | 
107 | 113 |     "res = PanelOLS(np_lscrap, np_hrsemp, entity_effects=True).fit()\n",  | 
108 | 114 |     "print(res)"  | 
109 | 115 |    ]  | 
 | 
224 | 230 |    "name": "python",  | 
225 | 231 |    "nbconvert_exporter": "python",  | 
226 | 232 |    "pygments_lexer": "ipython3",  | 
227 |  | -   "version": "3.12.0"  | 
 | 233 | +   "version": "3.10.12"  | 
228 | 234 |   },  | 
229 | 235 |   "pycharm": {  | 
230 | 236 |    "stem_cell": {  | 
 | 
0 commit comments