Python pandas.MultiIndex.from_tuples() Examples
The following are 30
code examples of pandas.MultiIndex.from_tuples().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pandas.MultiIndex
, or try the search function
.
Example #1
Source File: test_constructor.py From recruit with Apache License 2.0 | 6 votes |
def test_from_product_iterator(): # GH 18434 first = ['foo', 'bar', 'buz'] second = ['a', 'b', 'c'] names = ['first', 'second'] tuples = [('foo', 'a'), ('foo', 'b'), ('foo', 'c'), ('bar', 'a'), ('bar', 'b'), ('bar', 'c'), ('buz', 'a'), ('buz', 'b'), ('buz', 'c')] expected = MultiIndex.from_tuples(tuples, names=names) # iterator as input result = MultiIndex.from_product(iter([first, second]), names=names) tm.assert_index_equal(result, expected) # Invalid non-iterable input msg = "Input must be a list / sequence of iterables." with pytest.raises(TypeError, match=msg): MultiIndex.from_product(0)
Example #2
Source File: test_chunkstore.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def test_delete_range(chunkstore_lib): df = DataFrame(data={'data': [1, 2, 3, 4, 5, 6]}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), (dt(2016, 1, 2), 1), (dt(2016, 2, 1), 1), (dt(2016, 2, 2), 1), (dt(2016, 3, 1), 1), (dt(2016, 3, 2), 1)], names=['date', 'id']) ) df_result = DataFrame(data={'data': [1, 6]}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), (dt(2016, 3, 2), 1)], names=['date', 'id']) ) chunkstore_lib.write('test', df, chunk_size='M') chunkstore_lib.delete('test', chunk_range=DateRange(dt(2016, 1, 2), dt(2016, 3, 1))) assert_frame_equal(chunkstore_lib.read('test'), df_result) assert(chunkstore_lib.get_info('test')['len'] == len(df_result)) assert(chunkstore_lib.get_info('test')['chunk_count'] == 2)
Example #3
Source File: test_chunkstore.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def test_read_chunk_range(chunkstore_lib): df = DataFrame(data={'data': [1, 2, 3, 4, 5, 6, 7, 8, 9]}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), (dt(2016, 1, 2), 1), (dt(2016, 1, 3), 1), (dt(2016, 2, 1), 1), (dt(2016, 2, 2), 1), (dt(2016, 2, 3), 1), (dt(2016, 3, 1), 1), (dt(2016, 3, 2), 1), (dt(2016, 3, 3), 1)], names=['date', 'id']) ) chunkstore_lib.write('test', df, chunk_size='M') assert(chunkstore_lib.read('test', chunk_range=DateRange(dt(2016, 1, 1), dt(2016, 1, 1))).index.get_level_values('date')[0] == dt(2016, 1, 1)) assert(chunkstore_lib.read('test', chunk_range=DateRange(dt(2016, 1, 2), dt(2016, 1, 2))).index.get_level_values('date')[0] == dt(2016, 1, 2)) assert(chunkstore_lib.read('test', chunk_range=DateRange(dt(2016, 1, 3), dt(2016, 1, 3))).index.get_level_values('date')[0] == dt(2016, 1, 3)) assert(chunkstore_lib.read('test', chunk_range=DateRange(dt(2016, 2, 2), dt(2016, 2, 2))).index.get_level_values('date')[0] == dt(2016, 2, 2)) assert(len(chunkstore_lib.read('test', chunk_range=DateRange(dt(2016, 2, 2), dt(2016, 2, 2)), filter_data=False)) == 3) df2 = chunkstore_lib.read('test', chunk_range=DateRange(None, None)) assert_frame_equal(df, df2)
Example #4
Source File: test_strings.py From recruit with Apache License 2.0 | 6 votes |
def test_get_dummies_with_name_dummy(self): # GH 12180 # Dummies named 'name' should work as expected s = Series(['a', 'b,name', 'b']) result = s.str.get_dummies(',') expected = DataFrame([[1, 0, 0], [0, 1, 1], [0, 1, 0]], columns=['a', 'b', 'name']) tm.assert_frame_equal(result, expected) idx = Index(['a|b', 'name|c', 'b|name']) result = idx.str.get_dummies('|') expected = MultiIndex.from_tuples([(1, 1, 0, 0), (0, 0, 1, 1), (0, 1, 0, 1)], names=('a', 'b', 'c', 'name')) tm.assert_index_equal(result, expected)
Example #5
Source File: test_chunkstore.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def test_with_strings_multiindex_append(chunkstore_lib): df = DataFrame(data={'data': ['A', 'BBB', 'CC']}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 2), (dt(2016, 1, 1), 3), (dt(2016, 1, 2), 2)], names=['date', 'security'])) chunkstore_lib.write('chunkstore_test', df, chunk_size='D') read_df = chunkstore_lib.read('chunkstore_test') assert_frame_equal(read_df, df) df2 = DataFrame(data={'data': ['AAAAAAA']}, index=MultiIndex.from_tuples([(dt(2016, 1, 2), 4)], names=['date', 'security'])) chunkstore_lib.append('chunkstore_test', df2) df = DataFrame(data={'data': ['A', 'BBB', 'CC', 'AAAAAAA']}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 2), (dt(2016, 1, 1), 3), (dt(2016, 1, 2), 2), (dt(2016, 1, 2), 4)], names=['date', 'security'])) assert_frame_equal(chunkstore_lib.read('chunkstore_test') , df)
Example #6
Source File: test_chunkstore.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def test_unnamed_colums(chunkstore_lib): df = DataFrame(data={'data': [1, 2, 3]}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), (dt(2016, 1, 2), 1), (dt(2016, 1, 3), 1)], names=['date', None]) ) with pytest.raises(Exception) as e: chunkstore_lib.write('test_df', df, chunk_size='D') assert('must be named' in str(e.value)) df = DataFrame(data={None: [1, 2, 3]}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), (dt(2016, 1, 2), 1), (dt(2016, 1, 3), 1)], names=['date', 'id']) ) with pytest.raises(Exception) as e: chunkstore_lib.write('test_df', df, chunk_size='D') assert('must be named' in str(e.value))
Example #7
Source File: test_utils.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def create_test_data(size=5, index=True, multiindex=True, random_data=True, random_ids=True, date_offset=0, use_hours=False, cols=1): data = {} for i in range(cols): if random_data: data['data' + str(i)] = [random.random() * random.randint(-100, 100) for _ in range(size)] else: data['data' + str(i)] = range(size) dates = [dt(2016, 1, 1) + timedelta(days=0 if use_hours else n+date_offset, hours=n+date_offset if use_hours else 0) for n in range(size)] if index: if multiindex: index_col_names = ['date', 'id'] idx = [(date, random.randint(1, size)) for date in dates] if random_ids else [(date, 1) for date in dates] index = MultiIndex.from_tuples(idx, names=index_col_names) if idx else MultiIndex([[]]*2, [[]]*2, names=index_col_names) return DataFrame(data=data, index=index) return DataFrame(data=data, index=Index(data=dates, name='date')) data.update({'date': dates}) return DataFrame(data=data)
Example #8
Source File: test_strings.py From recruit with Apache License 2.0 | 6 votes |
def test_extractall_single_group(self): # extractall(one named group) returns DataFrame with one named # column. s = Series(['a3', 'b3', 'd4c2'], name='series_name') r = s.str.extractall(r'(?P<letter>[a-z])') i = MultiIndex.from_tuples([ (0, 0), (1, 0), (2, 0), (2, 1), ], names=(None, "match")) e = DataFrame({"letter": ['a', 'b', 'd', 'c']}, i) tm.assert_frame_equal(r, e) # extractall(one un-named group) returns DataFrame with one # un-named column. r = s.str.extractall(r'([a-z])') e = DataFrame(['a', 'b', 'd', 'c'], i) tm.assert_frame_equal(r, e)
Example #9
Source File: test_strings.py From recruit with Apache License 2.0 | 6 votes |
def test_get_dummies(self): s = Series(['a|b', 'a|c', np.nan]) result = s.str.get_dummies('|') expected = DataFrame([[1, 1, 0], [1, 0, 1], [0, 0, 0]], columns=list('abc')) tm.assert_frame_equal(result, expected) s = Series(['a;b', 'a', 7]) result = s.str.get_dummies(';') expected = DataFrame([[0, 1, 1], [0, 1, 0], [1, 0, 0]], columns=list('7ab')) tm.assert_frame_equal(result, expected) # GH9980, GH8028 idx = Index(['a|b', 'a|c', 'b|c']) result = idx.str.get_dummies('|') expected = MultiIndex.from_tuples([(1, 1, 0), (1, 0, 1), (0, 1, 1)], names=('a', 'b', 'c')) tm.assert_index_equal(result, expected)
Example #10
Source File: test_strings.py From recruit with Apache License 2.0 | 6 votes |
def test_extractall_stringindex(self): s = Series(["a1a2", "b1", "c1"], name='xxx') res = s.str.extractall(r"[ab](?P<digit>\d)") exp_idx = MultiIndex.from_tuples([(0, 0), (0, 1), (1, 0)], names=[None, 'match']) exp = DataFrame({'digit': ["1", "2", "1"]}, index=exp_idx) tm.assert_frame_equal(res, exp) # index should return the same result as the default index without name # thus index.name doesn't affect to the result for idx in [Index(["a1a2", "b1", "c1"]), Index(["a1a2", "b1", "c1"], name='xxx')]: res = idx.str.extractall(r"[ab](?P<digit>\d)") tm.assert_frame_equal(res, exp) s = Series(["a1a2", "b1", "c1"], name='s_name', index=Index(["XX", "yy", "zz"], name='idx_name')) res = s.str.extractall(r"[ab](?P<digit>\d)") exp_idx = MultiIndex.from_tuples([("XX", 0), ("XX", 1), ("yy", 0)], names=["idx_name", 'match']) exp = DataFrame({'digit': ["1", "2", "1"]}, index=exp_idx) tm.assert_frame_equal(res, exp)
Example #11
Source File: test_pandas_store.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def test_data_info_cols(library): i = MultiIndex.from_tuples([(1, "ab"), (2, "bb"), (3, "cb")]) s = DataFrame(data=[100, 200, 300], index=i) library.write('test_data', s) md = library.get_info('test_data') # {'dtype': [('level_0', '<i8'), ('level_1', 'S2'), ('0', '<i8')], # 'col_names': {u'index': [u'level_0', u'level_1'], u'columns': [u'0'], 'index_tz': [None, None]}, # 'type': u'pandasdf', # 'handler': 'PandasDataFrameStore', # 'rows': 3, # 'segment_count': 1, # 'size': 50} assert 'size' in md assert md['segment_count'] == 1 assert md['rows'] == 3 assert md['handler'] == 'PandasDataFrameStore' assert md['type'] == 'pandasdf' assert md['col_names'] == {'index': ['level_0', u'level_1'], 'columns': [u'0'], 'index_tz': [None, None]} assert len(md['dtype']) == 3 assert md['dtype'][0][0] == 'level_0' assert md['dtype'][1][0] == 'level_1' assert md['dtype'][2][0] == '0'
Example #12
Source File: test_chaining_and_caching.py From recruit with Apache License 2.0 | 6 votes |
def test_cache_updating(): # 5216 # make sure that we don't try to set a dead cache a = np.random.rand(10, 3) df = DataFrame(a, columns=['x', 'y', 'z']) tuples = [(i, j) for i in range(5) for j in range(2)] index = MultiIndex.from_tuples(tuples) df.index = index # setting via chained assignment # but actually works, since everything is a view df.loc[0]['z'].iloc[0] = 1. result = df.loc[(0, 0), 'z'] assert result == 1 # correct setting df.loc[(0, 0), 'z'] = 2 result = df.loc[(0, 0), 'z'] assert result == 2
Example #13
Source File: test_strings.py From recruit with Apache License 2.0 | 6 votes |
def test_rsplit_to_multiindex_expand(self): idx = Index(['nosplit', 'alsonosplit']) result = idx.str.rsplit('_', expand=True) exp = idx tm.assert_index_equal(result, exp) assert result.nlevels == 1 idx = Index(['some_equal_splits', 'with_no_nans']) result = idx.str.rsplit('_', expand=True) exp = MultiIndex.from_tuples([('some', 'equal', 'splits'), ( 'with', 'no', 'nans')]) tm.assert_index_equal(result, exp) assert result.nlevels == 3 idx = Index(['some_equal_splits', 'with_no_nans']) result = idx.str.rsplit('_', expand=True, n=1) exp = MultiIndex.from_tuples([('some_equal', 'splits'), ('with_no', 'nans')]) tm.assert_index_equal(result, exp) assert result.nlevels == 2
Example #14
Source File: test_multi.py From recruit with Apache License 2.0 | 6 votes |
def test_single_common_level(self): index_left = pd.MultiIndex.from_tuples([('K0', 'X0'), ('K0', 'X1'), ('K1', 'X2')], names=['key', 'X']) left = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']}, index=index_left) index_right = pd.MultiIndex.from_tuples([('K0', 'Y0'), ('K1', 'Y1'), ('K2', 'Y2'), ('K2', 'Y3')], names=['key', 'Y']) right = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}, index=index_right) result = left.join(right) expected = (pd.merge(left.reset_index(), right.reset_index(), on=['key'], how='inner') .set_index(['key', 'X', 'Y'])) tm.assert_frame_equal(result, expected)
Example #15
Source File: test_frame.py From recruit with Apache License 2.0 | 6 votes |
def test_set_axis_name_mi(self): df = DataFrame( np.empty((3, 3)), index=MultiIndex.from_tuples([("A", x) for x in list('aBc')]), columns=MultiIndex.from_tuples([('C', x) for x in list('xyz')]) ) level_names = ['L1', 'L2'] funcs = ['_set_axis_name', 'rename_axis'] for func in funcs: result = methodcaller(func, level_names)(df) assert result.index.names == level_names assert result.columns.names == [None, None] result = methodcaller(func, level_names, axis=1)(df) assert result.columns.names == ["L1", "L2"] assert result.index.names == [None, None]
Example #16
Source File: test_sorting.py From recruit with Apache License 2.0 | 6 votes |
def test_unsortedindex(): # GH 11897 mi = pd.MultiIndex.from_tuples([('z', 'a'), ('x', 'a'), ('y', 'b'), ('x', 'b'), ('y', 'a'), ('z', 'b')], names=['one', 'two']) df = pd.DataFrame([[i, 10 * i] for i in lrange(6)], index=mi, columns=['one', 'two']) # GH 16734: not sorted, but no real slicing result = df.loc(axis=0)['z', 'a'] expected = df.iloc[0] tm.assert_series_equal(result, expected) with pytest.raises(UnsortedIndexError): df.loc(axis=0)['z', slice('a')] df.sort_index(inplace=True) assert len(df.loc(axis=0)['z', :]) == 2 with pytest.raises(KeyError): df.loc(axis=0)['q', :]
Example #17
Source File: test_sorting.py From recruit with Apache License 2.0 | 6 votes |
def test_sortlevel_deterministic(): tuples = [('bar', 'one'), ('foo', 'two'), ('qux', 'two'), ('foo', 'one'), ('baz', 'two'), ('qux', 'one')] index = MultiIndex.from_tuples(tuples) sorted_idx, _ = index.sortlevel(0) expected = MultiIndex.from_tuples(sorted(tuples)) assert sorted_idx.equals(expected) sorted_idx, _ = index.sortlevel(0, ascending=False) assert sorted_idx.equals(expected[::-1]) sorted_idx, _ = index.sortlevel(1) by1 = sorted(tuples, key=lambda x: (x[1], x[0])) expected = MultiIndex.from_tuples(by1) assert sorted_idx.equals(expected) sorted_idx, _ = index.sortlevel(1, ascending=False) assert sorted_idx.equals(expected[::-1])
Example #18
Source File: test_sorting.py From recruit with Apache License 2.0 | 6 votes |
def test_sortlevel(idx): import random tuples = list(idx) random.shuffle(tuples) index = MultiIndex.from_tuples(tuples) sorted_idx, _ = index.sortlevel(0) expected = MultiIndex.from_tuples(sorted(tuples)) assert sorted_idx.equals(expected) sorted_idx, _ = index.sortlevel(0, ascending=False) assert sorted_idx.equals(expected[::-1]) sorted_idx, _ = index.sortlevel(1) by1 = sorted(tuples, key=lambda x: (x[1], x[0])) expected = MultiIndex.from_tuples(by1) assert sorted_idx.equals(expected) sorted_idx, _ = index.sortlevel(1, ascending=False) assert sorted_idx.equals(expected[::-1])
Example #19
Source File: test_duplicates.py From recruit with Apache License 2.0 | 6 votes |
def test_has_duplicates_from_tuples(): # GH 9075 t = [(u('x'), u('out'), u('z'), 5, u('y'), u('in'), u('z'), 169), (u('x'), u('out'), u('z'), 7, u('y'), u('in'), u('z'), 119), (u('x'), u('out'), u('z'), 9, u('y'), u('in'), u('z'), 135), (u('x'), u('out'), u('z'), 13, u('y'), u('in'), u('z'), 145), (u('x'), u('out'), u('z'), 14, u('y'), u('in'), u('z'), 158), (u('x'), u('out'), u('z'), 16, u('y'), u('in'), u('z'), 122), (u('x'), u('out'), u('z'), 17, u('y'), u('in'), u('z'), 160), (u('x'), u('out'), u('z'), 18, u('y'), u('in'), u('z'), 180), (u('x'), u('out'), u('z'), 20, u('y'), u('in'), u('z'), 143), (u('x'), u('out'), u('z'), 21, u('y'), u('in'), u('z'), 128), (u('x'), u('out'), u('z'), 22, u('y'), u('in'), u('z'), 129), (u('x'), u('out'), u('z'), 25, u('y'), u('in'), u('z'), 111), (u('x'), u('out'), u('z'), 28, u('y'), u('in'), u('z'), 114), (u('x'), u('out'), u('z'), 29, u('y'), u('in'), u('z'), 121), (u('x'), u('out'), u('z'), 31, u('y'), u('in'), u('z'), 126), (u('x'), u('out'), u('z'), 32, u('y'), u('in'), u('z'), 155), (u('x'), u('out'), u('z'), 33, u('y'), u('in'), u('z'), 123), (u('x'), u('out'), u('z'), 12, u('y'), u('in'), u('z'), 144)] mi = MultiIndex.from_tuples(t) assert not mi.has_duplicates
Example #20
Source File: test_drop.py From recruit with Apache License 2.0 | 6 votes |
def test_drop_not_lexsorted(): # GH 12078 # define the lexsorted version of the multi-index tuples = [('a', ''), ('b1', 'c1'), ('b2', 'c2')] lexsorted_mi = MultiIndex.from_tuples(tuples, names=['b', 'c']) assert lexsorted_mi.is_lexsorted() # and the not-lexsorted version df = pd.DataFrame(columns=['a', 'b', 'c', 'd'], data=[[1, 'b1', 'c1', 3], [1, 'b2', 'c2', 4]]) df = df.pivot_table(index='a', columns=['b', 'c'], values='d') df = df.reset_index() not_lexsorted_mi = df.columns assert not not_lexsorted_mi.is_lexsorted() # compare the results tm.assert_index_equal(lexsorted_mi, not_lexsorted_mi) with tm.assert_produces_warning(PerformanceWarning): tm.assert_index_equal(lexsorted_mi.drop('a'), not_lexsorted_mi.drop('a'))
Example #21
Source File: test_chaining_and_caching.py From recruit with Apache License 2.0 | 6 votes |
def test_detect_chained_assignment(): # Inplace ops, originally from: # http://stackoverflow.com/questions/20508968/series-fillna-in-a-multiindex-dataframe-does-not-fill-is-this-a-bug a = [12, 23] b = [123, None] c = [1234, 2345] d = [12345, 23456] tuples = [('eyes', 'left'), ('eyes', 'right'), ('ears', 'left'), ('ears', 'right')] events = {('eyes', 'left'): a, ('eyes', 'right'): b, ('ears', 'left'): c, ('ears', 'right'): d} multiind = MultiIndex.from_tuples(tuples, names=['part', 'side']) zed = DataFrame(events, index=['a', 'b'], columns=multiind) with pytest.raises(com.SettingWithCopyError): zed['eyes']['right'].fillna(value=555, inplace=True)
Example #22
Source File: test_date_chunker.py From arctic with GNU Lesser General Public License v2.1 | 6 votes |
def test_date_filter(): c = DateChunker() df = DataFrame(data={'data': [1, 2, 3]}, index=MultiIndex.from_tuples([(dt(2016, 1, 1), 1), (dt(2016, 1, 2), 1), (dt(2016, 1, 3), 1)], names=['date', 'id']) ) # OPEN - CLOSED assert_frame_equal(c.filter(df, DateRange(None, dt(2016, 1, 3))), df) # CLOSED - OPEN assert_frame_equal(c.filter(df, DateRange(dt(2016, 1, 1), None)), df) # OPEN - OPEN assert_frame_equal(c.filter(df, DateRange(None, None)), df) # CLOSED - OPEN (far before data range) assert_frame_equal(c.filter(df, DateRange(dt(2000, 1, 1), None)), df) # CLOSED - OPEN (far after range) assert(c.filter(df, DateRange(dt(2020, 1, 2), None)).empty) # OPEN - CLOSED assert_frame_equal(c.filter(df, DateRange(None, dt(2020, 1, 1))), df) # CLOSED - CLOSED (after range) assert(c.filter(df, DateRange(dt(2017, 1, 1), dt(2018, 1, 1))).empty)
Example #23
Source File: test_boxplot_method.py From recruit with Apache License 2.0 | 5 votes |
def test_boxplot_legacy3(self): tuples = lzip(string.ascii_letters[:10], range(10)) df = DataFrame(np.random.rand(10, 3), index=MultiIndex.from_tuples(tuples)) grouped = df.unstack(level=1).groupby(level=0, axis=1) with tm.assert_produces_warning(UserWarning): axes = _check_plot_works(grouped.boxplot, return_type='axes') self._check_axes_shape(list(axes.values), axes_num=3, layout=(2, 2)) axes = _check_plot_works(grouped.boxplot, subplots=False, return_type='axes') self._check_axes_shape(axes, axes_num=1, layout=(1, 1))
Example #24
Source File: test_sorted.py From recruit with Apache License 2.0 | 5 votes |
def test_getitem_multilevel_index_tuple_not_sorted(self): index_columns = list("abc") df = DataFrame([[0, 1, 0, "x"], [0, 0, 1, "y"]], columns=index_columns + ["data"]) df = df.set_index(index_columns) query_index = df.index[:1] rs = df.loc[query_index, "data"] xp_idx = MultiIndex.from_tuples([(0, 1, 0)], names=['a', 'b', 'c']) xp = Series(['x'], index=xp_idx, name='data') tm.assert_series_equal(rs, xp)
Example #25
Source File: test_series.py From recruit with Apache License 2.0 | 5 votes |
def test_set_axis_name_mi(self): s = Series([11, 21, 31], index=MultiIndex.from_tuples( [("A", x) for x in ["a", "B", "c"]], names=['l1', 'l2']) ) funcs = ['rename_axis', '_set_axis_name'] for func in funcs: result = methodcaller(func, ['L1', 'L2'])(s) assert s.index.name is None assert s.index.names == ['l1', 'l2'] assert result.index.name is None assert result.index.names, ['L1', 'L2']
Example #26
Source File: test_boxplot_method.py From recruit with Apache License 2.0 | 5 votes |
def test_boxplot_legacy2(self): tuples = lzip(string.ascii_letters[:10], range(10)) df = DataFrame(np.random.rand(10, 3), index=MultiIndex.from_tuples(tuples)) grouped = df.groupby(level=1) with tm.assert_produces_warning(UserWarning): axes = _check_plot_works(grouped.boxplot, return_type='axes') self._check_axes_shape(list(axes.values), axes_num=10, layout=(4, 3)) axes = _check_plot_works(grouped.boxplot, subplots=False, return_type='axes') self._check_axes_shape(axes, axes_num=1, layout=(1, 1))
Example #27
Source File: test_constructor.py From recruit with Apache License 2.0 | 5 votes |
def test_from_tuples_iterator(): # GH 18434 # input iterator for tuples expected = MultiIndex(levels=[[1, 3], [2, 4]], codes=[[0, 1], [0, 1]], names=['a', 'b']) result = MultiIndex.from_tuples(zip([1, 3], [2, 4]), names=['a', 'b']) tm.assert_index_equal(result, expected) # input non-iterables msg = 'Input must be a list / sequence of tuple-likes.' with pytest.raises(TypeError, match=msg): MultiIndex.from_tuples(0)
Example #28
Source File: test_constructor.py From recruit with Apache License 2.0 | 5 votes |
def test_from_frame(): # GH 22420 df = pd.DataFrame([['a', 'a'], ['a', 'b'], ['b', 'a'], ['b', 'b']], columns=['L1', 'L2']) expected = pd.MultiIndex.from_tuples([('a', 'a'), ('a', 'b'), ('b', 'a'), ('b', 'b')], names=['L1', 'L2']) result = pd.MultiIndex.from_frame(df) tm.assert_index_equal(expected, result)
Example #29
Source File: test_constructor.py From recruit with Apache License 2.0 | 5 votes |
def test_from_frame_invalid_names(names_in, names_out): # GH 22420 df = pd.DataFrame([['a', 'a'], ['a', 'b'], ['b', 'a'], ['b', 'b']], columns=pd.MultiIndex.from_tuples([('L1', 'x'), ('L2', 'y')])) with pytest.raises(type(names_out), match=names_out.args[0]): pd.MultiIndex.from_frame(df, names=names_in)
Example #30
Source File: test_series.py From recruit with Apache License 2.0 | 5 votes |
def test_rename_mi(self): s = Series([11, 21, 31], index=MultiIndex.from_tuples( [("A", x) for x in ["a", "B", "c"]])) s.rename(str.lower)