def test_axis_dummies(self): from pandas.core.reshape import make_axis_dummies minor_dummies = make_axis_dummies(self.panel, "minor") self.assertEqual(len(minor_dummies.columns), len(self.panel.index.levels[1])) major_dummies = make_axis_dummies(self.panel, "major") self.assertEqual(len(major_dummies.columns), len(self.panel.index.levels[0])) mapping = {"A": "one", "B": "one", "C": "two", "D": "two"} transformed = make_axis_dummies(self.panel, "minor", transform=mapping.get) self.assertEqual(len(transformed.columns), 2) self.assert_(np.array_equal(transformed.columns, ["one", "two"]))
def _add_entity_effects(self, panel): """ Add entity dummies to panel Returns ------- DataFrame """ from pandas.core.reshape import make_axis_dummies if not self._entity_effects: return panel self.log('-- Adding entity fixed effect dummies') dummies = make_axis_dummies(panel, 'minor') if not self._use_all_dummies: if 'entity' in self._dropped_dummies: to_exclude = str(self._dropped_dummies.get('entity')) else: to_exclude = dummies.columns[0] if to_exclude not in dummies.columns: raise Exception('%s not in %s' % (to_exclude, dummies.columns)) self.log('-- Excluding dummy for entity: %s' % to_exclude) dummies = dummies.filter(dummies.columns.difference([to_exclude])) dummies = dummies.add_prefix('FE_') panel = panel.join(dummies) return panel
def _add_entity_effects(self, panel): """ Add entity dummies to panel Returns ------- DataFrame """ from pandas.core.reshape import make_axis_dummies if not self._entity_effects: return panel self.log('-- Adding entity fixed effect dummies') dummies = make_axis_dummies(panel, 'minor') if not self._use_all_dummies: if 'entity' in self._dropped_dummies: to_exclude = str(self._dropped_dummies.get('entity')) else: to_exclude = dummies.columns[0] if to_exclude not in dummies.columns: raise Exception('%s not in %s' % (to_exclude, dummies.columns)) self.log('-- Excluding dummy for entity: %s' % to_exclude) dummies = dummies.filter(dummies.columns - [to_exclude]) dummies = dummies.add_prefix('FE_') panel = panel.join(dummies) return panel
def test_get_dummies(self): from pandas.core.reshape import make_column_dummies, make_axis_dummies self.panel["Label"] = self.panel.index.labels[1] minor_dummies = make_axis_dummies(self.panel, "minor") dummies = make_column_dummies(self.panel, "Label") self.assert_(np.array_equal(dummies.values, minor_dummies.values))
def test_get_dummies(self): from pandas.core.reshape import make_column_dummies, make_axis_dummies self.panel['Label'] = self.panel.index.labels[1] minor_dummies = make_axis_dummies(self.panel, 'minor') dummies = make_column_dummies(self.panel, 'Label') self.assert_(np.array_equal(dummies.values, minor_dummies.values))
def _add_entity_effects(self, panel): """ Add entity dummies to panel Returns ------- DataFrame """ from pandas.core.reshape import make_axis_dummies if not self._entity_effects: return panel self.log("-- Adding entity fixed effect dummies") dummies = make_axis_dummies(panel, "minor") if not self._use_all_dummies: if "entity" in self._dropped_dummies: to_exclude = str(self._dropped_dummies.get("entity")) else: to_exclude = dummies.columns[0] if to_exclude not in dummies.columns: raise Exception("%s not in %s" % (to_exclude, dummies.columns)) self.log("-- Excluding dummy for entity: %s" % to_exclude) dummies = dummies.filter(dummies.columns - [to_exclude]) dummies = dummies.add_prefix("FE_") panel = panel.join(dummies) return panel
def test_get_dummies(self): from pandas.core.reshape import get_dummies, make_axis_dummies self.panel['Label'] = self.panel.index.labels[1] minor_dummies = make_axis_dummies(self.panel, 'minor') dummies = get_dummies(self.panel['Label']) self.assert_(np.array_equal(dummies.values, minor_dummies.values))
def test_preserve_categorical_dtype(self): # GH13854 for ordered in [False, True]: cidx = pd.CategoricalIndex(list("xyz"), ordered=ordered) midx = pd.MultiIndex(levels=[['a'], cidx], labels=[[0, 0], [0, 1]]) df = DataFrame([[10, 11]], index=midx) expected = DataFrame([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]], index=midx, columns=cidx) from pandas.core.reshape import make_axis_dummies result = make_axis_dummies(df) tm.assert_frame_equal(result, expected) result = make_axis_dummies(df, transform=lambda x: x) tm.assert_frame_equal(result, expected)
def test_axis_dummies(self): from pandas.core.reshape import make_axis_dummies minor_dummies = make_axis_dummies(self.panel, 'minor') self.assertEqual(len(minor_dummies.columns), len(self.panel.index.levels[1])) major_dummies = make_axis_dummies(self.panel, 'major') self.assertEqual(len(major_dummies.columns), len(self.panel.index.levels[0])) mapping = {'A': 'one', 'B': 'one', 'C': 'two', 'D': 'two'} transformed = make_axis_dummies(self.panel, 'minor', transform=mapping.get) self.assertEqual(len(transformed.columns), 2) self.assert_(np.array_equal(transformed.columns, ['one', 'two']))
def test_axis_dummies(self): from pandas.core.reshape import make_axis_dummies minor_dummies = make_axis_dummies(self.panel, 'minor') self.assertEqual(len(minor_dummies.columns), len(self.panel.index.levels[1])) major_dummies = make_axis_dummies(self.panel, 'major') self.assertEqual(len(major_dummies.columns), len(self.panel.index.levels[0])) mapping = {'A' : 'one', 'B' : 'one', 'C' : 'two', 'D' : 'two'} transformed = make_axis_dummies(self.panel, 'minor', transform=mapping.get) self.assertEqual(len(transformed.columns), 2) self.assert_(np.array_equal(transformed.columns, ['one', 'two']))