当前位置: 首页>>代码示例>>Python>>正文


Python MultiIndex.from_product方法代码示例

本文整理汇总了Python中pandas.core.index.MultiIndex.from_product方法的典型用法代码示例。如果您正苦于以下问题:Python MultiIndex.from_product方法的具体用法?Python MultiIndex.from_product怎么用?Python MultiIndex.from_product使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pandas.core.index.MultiIndex的用法示例。


在下文中一共展示了MultiIndex.from_product方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_constructor_with_generator

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_constructor_with_generator(self):
        # This was raising an Error in isna(single_val).any() because isna
        # returned a scalar for a generator
        xrange = range

        exp = Categorical([0, 1, 2])
        cat = Categorical((x for x in [0, 1, 2]))
        tm.assert_categorical_equal(cat, exp)
        cat = Categorical(xrange(3))
        tm.assert_categorical_equal(cat, exp)

        # This uses xrange internally
        from pandas.core.index import MultiIndex
        MultiIndex.from_product([range(5), ['a', 'b', 'c']])

        # check that categories accept generators and sequences
        cat = Categorical([0, 1, 2], categories=(x for x in [0, 1, 2]))
        tm.assert_categorical_equal(cat, exp)
        cat = Categorical([0, 1, 2], categories=xrange(3))
        tm.assert_categorical_equal(cat, exp) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:22,代码来源:test_constructors.py

示例2: test_datetimeindex

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_datetimeindex(self):
        idx1 = pd.DatetimeIndex(
            ['2013-04-01 9:00', '2013-04-02 9:00', '2013-04-03 9:00'
             ] * 2, tz='Asia/Tokyo')
        idx2 = pd.date_range('2010/01/01', periods=6, freq='M',
                             tz='US/Eastern')
        idx = MultiIndex.from_arrays([idx1, idx2])

        expected1 = pd.DatetimeIndex(['2013-04-01 9:00', '2013-04-02 9:00',
                                      '2013-04-03 9:00'], tz='Asia/Tokyo')

        tm.assert_index_equal(idx.levels[0], expected1)
        tm.assert_index_equal(idx.levels[1], idx2)

        # from datetime combos
        # GH 7888
        date1 = datetime.date.today()
        date2 = datetime.datetime.today()
        date3 = Timestamp.today()

        for d1, d2 in itertools.product(
                [date1, date2, date3], [date1, date2, date3]):
            index = MultiIndex.from_product([[d1], [d2]])
            assert isinstance(index.levels[0], pd.DatetimeIndex)
            assert isinstance(index.levels[1], pd.DatetimeIndex) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:27,代码来源:test_multilevel.py

示例3: test_reset_index_period

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_reset_index_period(self):
        # GH 7746
        idx = MultiIndex.from_product(
            [pd.period_range('20130101', periods=3, freq='M'), list('abc')],
            names=['month', 'feature'])

        df = DataFrame(np.arange(9, dtype='int64').reshape(-1, 1),
                       index=idx, columns=['a'])
        expected = DataFrame({
            'month': ([pd.Period('2013-01', freq='M')] * 3 +
                      [pd.Period('2013-02', freq='M')] * 3 +
                      [pd.Period('2013-03', freq='M')] * 3),
            'feature': ['a', 'b', 'c'] * 3,
            'a': np.arange(9, dtype='int64')
        }, columns=['month', 'feature', 'a'])
        tm.assert_frame_equal(df.reset_index(), expected) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:18,代码来源:test_multilevel.py

示例4: test_sort_index_reorder_on_ops

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_sort_index_reorder_on_ops(self):
        # 15687
        df = DataFrame(
            np.random.randn(8, 2),
            index=MultiIndex.from_product(
                [['a', 'b'], ['big', 'small'], ['red', 'blu']],
                names=['letter', 'size', 'color']),
            columns=['near', 'far'])
        df = df.sort_index()

        def my_func(group):
            group.index = ['newz', 'newa']
            return group

        result = df.groupby(level=['letter', 'size']).apply(
            my_func).sort_index()
        expected = MultiIndex.from_product(
            [['a', 'b'], ['big', 'small'], ['newa', 'newz']],
            names=['letter', 'size', None])

        tm.assert_index_equal(result.index, expected) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:23,代码来源:test_multilevel.py

示例5: test_datetimeindex

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_datetimeindex(self):
        idx1 = pd.DatetimeIndex(
            ['2013-04-01 9:00', '2013-04-02 9:00', '2013-04-03 9:00'
             ] * 2, tz='Asia/Tokyo')
        idx2 = pd.date_range('2010/01/01', periods=6, freq='M',
                             tz='US/Eastern')
        idx = MultiIndex.from_arrays([idx1, idx2])

        expected1 = pd.DatetimeIndex(['2013-04-01 9:00', '2013-04-02 9:00',
                                      '2013-04-03 9:00'], tz='Asia/Tokyo')

        tm.assert_index_equal(idx.levels[0], expected1)
        tm.assert_index_equal(idx.levels[1], idx2)

        # from datetime combos
        # GH 7888
        date1 = datetime.date.today()
        date2 = datetime.datetime.today()
        date3 = Timestamp.today()

        for d1, d2 in itertools.product(
                [date1, date2, date3], [date1, date2, date3]):
            index = pd.MultiIndex.from_product([[d1], [d2]])
            assert isinstance(index.levels[0], pd.DatetimeIndex)
            assert isinstance(index.levels[1], pd.DatetimeIndex) 
开发者ID:securityclippy,项目名称:elasticintel,代码行数:27,代码来源:test_multilevel.py

示例6: test_reset_index_period

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_reset_index_period(self):
        # GH 7746
        idx = pd.MultiIndex.from_product([pd.period_range('20130101',
                                                          periods=3, freq='M'),
                                          ['a', 'b', 'c']],
                                         names=['month', 'feature'])

        df = pd.DataFrame(np.arange(9, dtype='int64')
                          .reshape(-1, 1),
                          index=idx, columns=['a'])
        expected = pd.DataFrame({
            'month': ([pd.Period('2013-01', freq='M')] * 3 +
                      [pd.Period('2013-02', freq='M')] * 3 +
                      [pd.Period('2013-03', freq='M')] * 3),
            'feature': ['a', 'b', 'c'] * 3,
            'a': np.arange(9, dtype='int64')
        }, columns=['month', 'feature', 'a'])
        tm.assert_frame_equal(df.reset_index(), expected) 
开发者ID:securityclippy,项目名称:elasticintel,代码行数:20,代码来源:test_multilevel.py

示例7: test_sort_index_reorder_on_ops

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_sort_index_reorder_on_ops(self):
        # 15687
        df = pd.DataFrame(
            np.random.randn(8, 2),
            index=MultiIndex.from_product(
                [['a', 'b'],
                 ['big', 'small'],
                 ['red', 'blu']],
                names=['letter', 'size', 'color']),
            columns=['near', 'far'])
        df = df.sort_index()

        def my_func(group):
            group.index = ['newz', 'newa']
            return group

        result = df.groupby(level=['letter', 'size']).apply(
            my_func).sort_index()
        expected = MultiIndex.from_product(
            [['a', 'b'],
             ['big', 'small'],
             ['newa', 'newz']],
            names=['letter', 'size', None])

        tm.assert_index_equal(result.index, expected) 
开发者ID:securityclippy,项目名称:elasticintel,代码行数:27,代码来源:test_multilevel.py

示例8: test_constructor_with_generator

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_constructor_with_generator(self):
        # This was raising an Error in isna(single_val).any() because isna
        # returned a scalar for a generator
        xrange = range

        exp = Categorical([0, 1, 2])
        cat = Categorical((x for x in [0, 1, 2]))
        tm.assert_categorical_equal(cat, exp)
        cat = Categorical(xrange(3))
        tm.assert_categorical_equal(cat, exp)

        # This uses xrange internally
        from pandas.core.index import MultiIndex
        MultiIndex.from_product([range(5), ['a', 'b', 'c']])

        # check that categories accept generators and sequences
        cat = pd.Categorical([0, 1, 2], categories=(x for x in [0, 1, 2]))
        tm.assert_categorical_equal(cat, exp)
        cat = pd.Categorical([0, 1, 2], categories=xrange(3))
        tm.assert_categorical_equal(cat, exp) 
开发者ID:securityclippy,项目名称:elasticintel,代码行数:22,代码来源:test_categorical.py

示例9: _coo_to_sparse_series

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def _coo_to_sparse_series(A, dense_index=False):
    """ Convert a scipy.sparse.coo_matrix to a SparseSeries.
    Use the defaults given in the SparseSeries constructor.
    """
    s = Series(A.data, MultiIndex.from_arrays((A.row, A.col)))
    s = s.sort_index()
    s = s.to_sparse()  # TODO: specify kind?
    if dense_index:
        # is there a better constructor method to use here?
        i = range(A.shape[0])
        j = range(A.shape[1])
        ind = MultiIndex.from_product([i, j])
        s = s.reindex(ind)
    return s 
开发者ID:nccgroup,项目名称:Splunking-Crime,代码行数:16,代码来源:scipy_sparse.py

示例10: test_sort_index_and_reconstruction

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_sort_index_and_reconstruction(self):

        # 15622
        # lexsortedness should be identical
        # across MultiIndex consruction methods

        df = DataFrame([[1, 1], [2, 2]], index=list('ab'))
        expected = DataFrame([[1, 1], [2, 2], [1, 1], [2, 2]],
                             index=MultiIndex.from_tuples([(0.5, 'a'),
                                                           (0.5, 'b'),
                                                           (0.8, 'a'),
                                                           (0.8, 'b')]))
        assert expected.index.is_lexsorted()

        result = DataFrame(
            [[1, 1], [2, 2], [1, 1], [2, 2]],
            index=MultiIndex.from_product([[0.5, 0.8], list('ab')]))
        result = result.sort_index()
        assert result.index.is_lexsorted()
        assert result.index.is_monotonic

        tm.assert_frame_equal(result, expected)

        result = DataFrame(
            [[1, 1], [2, 2], [1, 1], [2, 2]],
            index=MultiIndex(levels=[[0.5, 0.8], ['a', 'b']],
                             codes=[[0, 0, 1, 1], [0, 1, 0, 1]]))
        result = result.sort_index()
        assert result.index.is_lexsorted()

        tm.assert_frame_equal(result, expected)

        concatted = pd.concat([df, df], keys=[0.8, 0.5])
        result = concatted.sort_index()

        assert result.index.is_lexsorted()
        assert result.index.is_monotonic

        tm.assert_frame_equal(result, expected)

        # 14015
        df = DataFrame([[1, 2], [6, 7]],
                       columns=MultiIndex.from_tuples(
                           [(0, '20160811 12:00:00'),
                            (0, '20160809 12:00:00')],
                           names=['l1', 'Date']))

        df.columns.set_levels(pd.to_datetime(df.columns.levels[1]),
                              level=1,
                              inplace=True)
        assert not df.columns.is_lexsorted()
        assert not df.columns.is_monotonic
        result = df.sort_index(axis=1)
        assert result.columns.is_lexsorted()
        assert result.columns.is_monotonic
        result = df.sort_index(axis=1, level=1)
        assert result.columns.is_lexsorted()
        assert result.columns.is_monotonic 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:60,代码来源:test_multilevel.py

示例11: test_sort_index_and_reconstruction

# 需要导入模块: from pandas.core.index import MultiIndex [as 别名]
# 或者: from pandas.core.index.MultiIndex import from_product [as 别名]
def test_sort_index_and_reconstruction(self):

        # 15622
        # lexsortedness should be identical
        # across MultiIndex consruction methods

        df = DataFrame([[1, 1], [2, 2]], index=list('ab'))
        expected = DataFrame([[1, 1], [2, 2], [1, 1], [2, 2]],
                             index=MultiIndex.from_tuples([(0.5, 'a'),
                                                           (0.5, 'b'),
                                                           (0.8, 'a'),
                                                           (0.8, 'b')]))
        assert expected.index.is_lexsorted()

        result = DataFrame(
            [[1, 1], [2, 2], [1, 1], [2, 2]],
            index=MultiIndex.from_product([[0.5, 0.8], list('ab')]))
        result = result.sort_index()
        assert result.index.is_lexsorted()
        assert result.index.is_monotonic

        tm.assert_frame_equal(result, expected)

        result = DataFrame(
            [[1, 1], [2, 2], [1, 1], [2, 2]],
            index=MultiIndex(levels=[[0.5, 0.8], ['a', 'b']],
                             labels=[[0, 0, 1, 1], [0, 1, 0, 1]]))
        result = result.sort_index()
        assert result.index.is_lexsorted()

        tm.assert_frame_equal(result, expected)

        concatted = pd.concat([df, df], keys=[0.8, 0.5])
        result = concatted.sort_index()

        assert result.index.is_lexsorted()
        assert result.index.is_monotonic

        tm.assert_frame_equal(result, expected)

        # 14015
        df = DataFrame([[1, 2], [6, 7]],
                       columns=MultiIndex.from_tuples(
                           [(0, '20160811 12:00:00'),
                            (0, '20160809 12:00:00')],
                           names=['l1', 'Date']))

        df.columns.set_levels(pd.to_datetime(df.columns.levels[1]),
                              level=1,
                              inplace=True)
        assert not df.columns.is_lexsorted()
        assert not df.columns.is_monotonic
        result = df.sort_index(axis=1)
        assert result.columns.is_lexsorted()
        assert result.columns.is_monotonic
        result = df.sort_index(axis=1, level=1)
        assert result.columns.is_lexsorted()
        assert result.columns.is_monotonic 
开发者ID:birforce,项目名称:vnpy_crypto,代码行数:60,代码来源:test_multilevel.py


注:本文中的pandas.core.index.MultiIndex.from_product方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。