Example #1
0
    def test_frame_group_ops(self):
        self.frame.ix[1, [1, 2]] = np.nan
        self.frame.ix[7, [0, 1]] = np.nan

        for op, level, axis, skipna in cart_product(self.AGG_FUNCTIONS,
                                                    range(2), range(2),
                                                    [False, True]):
            if axis == 0:
                frame = self.frame
            else:
                frame = self.frame.T

            grouped = frame.groupby(level=level, axis=axis)

            aggf = lambda x: getattr(x, op)(skipna=skipna, axis=axis)
            leftside = grouped.agg(aggf)
            rightside = getattr(frame, op)(level=level,
                                           axis=axis,
                                           skipna=skipna)

            # for good measure, groupby detail
            level_index = frame._get_axis(axis).levels[level]

            self.assert_(leftside._get_axis(axis).equals(level_index))
            self.assert_(rightside._get_axis(axis).equals(level_index))

            assert_frame_equal(leftside, rightside)
Example #2
0
    def test_frame_group_ops(self):
        self.frame.ix[1, [1, 2]] = np.nan
        self.frame.ix[7, [0, 1]] = np.nan

        for op, level, axis, skipna in cart_product(self.AGG_FUNCTIONS,
                                                    range(2), range(2),
                                                    [False, True]):
            if axis == 0:
                frame = self.frame
            else:
                frame = self.frame.T

            grouped = frame.groupby(level=level, axis=axis)

            aggf = lambda x: getattr(x, op)(skipna=skipna, axis=axis)
            leftside = grouped.agg(aggf)
            rightside = getattr(frame, op)(level=level, axis=axis,
                                           skipna=skipna)

            # for good measure, groupby detail
            level_index = frame._get_axis(axis).levels[level]

            self.assert_(leftside._get_axis(axis).equals(level_index))
            self.assert_(rightside._get_axis(axis).equals(level_index))

            assert_frame_equal(leftside, rightside)
Example #3
0
 def test_delevel_infer_dtype(self):
     tuples = [tuple for tuple in cart_product(["foo", "bar"], [10, 20], [1.0, 1.1])]
     index = MultiIndex.from_tuples(tuples, names=["prm0", "prm1", "prm2"])
     df = DataFrame(np.random.randn(8, 3), columns=["A", "B", "C"], index=index)
     deleveled = df.reset_index()
     self.assert_(com.is_integer_dtype(deleveled["prm1"]))
     self.assert_(com.is_float_dtype(deleveled["prm2"]))
Example #4
0
 def test_series_group_min_max(self):
     for op, level, skipna in cart_product(self.AGG_FUNCTIONS, range(2), [False, True]):
         grouped = self.series.groupby(level=level)
         aggf = lambda x: getattr(x, op)(skipna=skipna)
         # skipna=True
         leftside = grouped.agg(aggf)
         rightside = getattr(self.series, op)(level=level, skipna=skipna)
         assert_series_equal(leftside, rightside)
Example #5
0
 def test_series_group_min_max(self):
     for op, level, skipna in cart_product(self.AGG_FUNCTIONS, range(2),
                                           [False, True]):
         grouped = self.series.groupby(level=level)
         aggf = lambda x: getattr(x, op)(skipna=skipna)
         # skipna=True
         leftside = grouped.agg(aggf)
         rightside = getattr(self.series, op)(level=level, skipna=skipna)
         assert_series_equal(leftside, rightside)
Example #6
0
 def test_delevel_infer_dtype(self):
     tuples = [tuple for tuple in cart_product(['foo', 'bar'],
                                               [10, 20], [1.0, 1.1])]
     index = MultiIndex.from_tuples(tuples,
                                    names=['prm0', 'prm1', 'prm2'])
     df = DataFrame(np.random.randn(8,3), columns=['A', 'B', 'C'],
                    index=index)
     deleveled = df.reset_index()
     self.assert_(com.is_integer_dtype(deleveled['prm1']))
     self.assert_(com.is_float_dtype(deleveled['prm2']))
Example #7
0
 def test_delevel_infer_dtype(self):
     tuples = [tuple for tuple in cart_product(['foo', 'bar'],
                                               [10, 20], [1.0, 1.1])]
     index = MultiIndex.from_tuples(tuples,
                                    names=['prm0', 'prm1', 'prm2'])
     df = DataFrame(np.random.randn(8,3), columns=['A', 'B', 'C'],
                    index=index)
     deleveled = df.delevel()
     self.assert_(com.is_integer_dtype(deleveled['prm1']))
     self.assert_(com.is_float_dtype(deleveled['prm2']))
Example #8
0
    def test_frame_group_ops(self):
        self.frame.ix[1, [1, 2]] = np.nan
        self.frame.ix[7, [0, 1]] = np.nan

        for op, level, axis, skipna in cart_product(self.AGG_FUNCTIONS,
                                                    range(2), range(2),
                                                    [False, True]):
            if axis == 0:
                frame = self.frame
            else:
                frame = self.frame.T

            grouped = frame.groupby(level=level, axis=axis)

            aggf = lambda x: getattr(x, op)(skipna=skipna, axis=axis)
            leftside = grouped.agg(aggf)
            rightside = getattr(frame, op)(level=level, axis=axis,
                                           skipna=skipna)
            assert_frame_equal(leftside, rightside)