コード例 #1
0
ファイル: test_panel.py プロジェクト: greeness/pandas
    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"]))
コード例 #2
0
ファイル: plm.py プロジェクト: AlexisMignon/pandas
    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
コード例 #3
0
    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
コード例 #4
0
ファイル: test_panel.py プロジェクト: greeness/pandas
    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))
コード例 #5
0
ファイル: test_panel.py プロジェクト: theandygross/pandas
    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))
コード例 #6
0
ファイル: plm.py プロジェクト: Jean13/pandas
    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
コード例 #7
0
ファイル: test_panel.py プロジェクト: PhE/pandas
    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))
コード例 #8
0
ファイル: test_reshape.py プロジェクト: AlexisMignon/pandas
    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)
コード例 #9
0
    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)
コード例 #10
0
ファイル: test_panel.py プロジェクト: theandygross/pandas
    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']))
コード例 #11
0
ファイル: test_panel.py プロジェクト: c0ldlimit/pandas
    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']))