Skip to content

Commit ba34c51

Browse files
committed
CLN: strip out and form tools/concat.py from tools/merge.py
1 parent c23b1a4 commit ba34c51

21 files changed

+672
-657
lines changed

doc/source/whatsnew/v0.20.0.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ Deprecations
385385
- ``TimedeltaIndex.searchsorted()``, ``DatetimeIndex.searchsorted()``, and ``PeriodIndex.searchsorted()`` have deprecated the ``key`` parameter in favor of ``value`` (:issue:`12662`)
386386
- ``DataFrame.astype()`` has deprecated the ``raise_on_error`` parameter in favor of ``errors`` (:issue:`14878`)
387387
- ``Series.sortlevel`` and ``DataFrame.sortlevel`` have been deprecated in favor of ``Series.sort_index`` and ``DataFrame.sort_index`` (:issue:`15099`)
388-
388+
- importing ``concat`` from ``pandas.tools.merge`` has been deprecated in favor of imports from the ``pandas`` namespace. This should only affect explict imports (:issue:`15358`)
389389

390390
.. _whatsnew_0200.prior_deprecations:
391391

pandas/__init__.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@
4242
from pandas.sparse.api import *
4343
from pandas.stats.api import *
4444
from pandas.tseries.api import *
45-
from pandas.io.api import *
4645
from pandas.computation.api import *
4746

48-
from pandas.tools.merge import (merge, concat, ordered_merge,
47+
from pandas.tools.concat import concat
48+
from pandas.tools.merge import (merge, ordered_merge,
4949
merge_ordered, merge_asof)
5050
from pandas.tools.pivot import pivot_table, crosstab
5151
from pandas.tools.plotting import scatter_matrix, plot_params
@@ -54,6 +54,8 @@
5454
from pandas.core.reshape import melt
5555
from pandas.util.print_versions import show_versions
5656

57+
from pandas.io.api import *
58+
5759
# define the testing framework
5860
import pandas.util.testing
5961
from pandas.util.nosetester import NoseTester

pandas/core/base.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ def _aggregate(self, arg, *args, **kwargs):
472472

473473
arg = new_arg
474474

475-
from pandas.tools.merge import concat
475+
from pandas.tools.concat import concat
476476

477477
def _agg_1dim(name, how, subset=None):
478478
"""
@@ -579,7 +579,7 @@ def _agg(arg, func):
579579
return result, True
580580

581581
def _aggregate_multiple_funcs(self, arg, _level):
582-
from pandas.tools.merge import concat
582+
from pandas.tools.concat import concat
583583

584584
if self.axis != 0:
585585
raise NotImplementedError("axis other than 0 is not supported")

pandas/core/categorical.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1907,7 +1907,7 @@ def describe(self):
19071907
counts = self.value_counts(dropna=False)
19081908
freqs = counts / float(counts.sum())
19091909

1910-
from pandas.tools.merge import concat
1910+
from pandas.tools.concat import concat
19111911
result = concat([counts, freqs], axis=1)
19121912
result.columns = ['counts', 'freqs']
19131913
result.index.name = 'categories'

pandas/core/frame.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -4402,7 +4402,7 @@ def append(self, other, ignore_index=False, verify_integrity=False):
44024402
if (self.columns.get_indexer(other.columns) >= 0).all():
44034403
other = other.loc[:, self.columns]
44044404

4405-
from pandas.tools.merge import concat
4405+
from pandas.tools.concat import concat
44064406
if isinstance(other, (list, tuple)):
44074407
to_concat = [self] + other
44084408
else:
@@ -4532,7 +4532,8 @@ def join(self, other, on=None, how='left', lsuffix='', rsuffix='',
45324532

45334533
def _join_compat(self, other, on=None, how='left', lsuffix='', rsuffix='',
45344534
sort=False):
4535-
from pandas.tools.merge import merge, concat
4535+
from pandas.tools.merge import merge
4536+
from pandas.tools.concat import concat
45364537

45374538
if isinstance(other, Series):
45384539
if other.name is None:
@@ -4636,7 +4637,7 @@ def round(self, decimals=0, *args, **kwargs):
46364637
Series.round
46374638
46384639
"""
4639-
from pandas.tools.merge import concat
4640+
from pandas.tools.concat import concat
46404641

46414642
def _dict_round(df, decimals):
46424643
for col, vals in df.iteritems():
@@ -5306,7 +5307,7 @@ def isin(self, values):
53065307
"""
53075308
if isinstance(values, dict):
53085309
from collections import defaultdict
5309-
from pandas.tools.merge import concat
5310+
from pandas.tools.concat import concat
53105311
values = defaultdict(list, values)
53115312
return concat((self.iloc[:, [i]].isin(values[col])
53125313
for i, col in enumerate(self.columns)), axis=1)

pandas/core/groupby.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ def _wrap_applied_output(self, *args, **kwargs):
854854
raise AbstractMethodError(self)
855855

856856
def _concat_objects(self, keys, values, not_indexed_same=False):
857-
from pandas.tools.merge import concat
857+
from pandas.tools.concat import concat
858858

859859
def reset_identity(values):
860860
# reset the identities of the components
@@ -3507,7 +3507,7 @@ def first_non_None_value(values):
35073507
# still a series
35083508
# path added as of GH 5545
35093509
elif all_indexed_same:
3510-
from pandas.tools.merge import concat
3510+
from pandas.tools.concat import concat
35113511
return concat(values)
35123512

35133513
if not all_indexed_same:
@@ -3540,7 +3540,7 @@ def first_non_None_value(values):
35403540
else:
35413541
# GH5788 instead of stacking; concat gets the
35423542
# dtypes correct
3543-
from pandas.tools.merge import concat
3543+
from pandas.tools.concat import concat
35443544
result = concat(values, keys=key_index,
35453545
names=key_index.names,
35463546
axis=self.axis).unstack()
@@ -3588,7 +3588,7 @@ def first_non_None_value(values):
35883588
not_indexed_same=not_indexed_same)
35893589

35903590
def _transform_general(self, func, *args, **kwargs):
3591-
from pandas.tools.merge import concat
3591+
from pandas.tools.concat import concat
35923592

35933593
applied = []
35943594
obj = self._obj_with_exclusions
@@ -3980,7 +3980,7 @@ def _iterate_column_groupbys(self):
39803980
exclusions=self.exclusions)
39813981

39823982
def _apply_to_column_groupbys(self, func):
3983-
from pandas.tools.merge import concat
3983+
from pandas.tools.concat import concat
39843984
return concat(
39853985
(func(col_groupby) for _, col_groupby
39863986
in self._iterate_column_groupbys()),
@@ -4061,7 +4061,7 @@ def groupby_series(obj, col=None):
40614061
if isinstance(obj, Series):
40624062
results = groupby_series(obj)
40634063
else:
4064-
from pandas.tools.merge import concat
4064+
from pandas.tools.concat import concat
40654065
results = [groupby_series(obj[col], col) for col in obj.columns]
40664066
results = concat(results, axis=1)
40674067

pandas/core/panel.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1282,7 +1282,7 @@ def join(self, other, how='left', lsuffix='', rsuffix=''):
12821282
-------
12831283
joined : Panel
12841284
"""
1285-
from pandas.tools.merge import concat
1285+
from pandas.tools.concat import concat
12861286

12871287
if isinstance(other, Panel):
12881288
join_major, join_minor = self._get_join_index(other, how)

pandas/core/reshape.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1194,7 +1194,7 @@ def get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False,
11941194
--------
11951195
Series.str.get_dummies
11961196
"""
1197-
from pandas.tools.merge import concat
1197+
from pandas.tools.concat import concat
11981198
from itertools import cycle
11991199

12001200
if isinstance(data, DataFrame):

pandas/core/series.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1588,7 +1588,7 @@ def append(self, to_append, ignore_index=False, verify_integrity=False):
15881588
15891589
15901590
"""
1591-
from pandas.tools.merge import concat
1591+
from pandas.tools.concat import concat
15921592

15931593
if isinstance(to_append, (list, tuple)):
15941594
to_concat = [self] + to_append

pandas/formats/format.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def __init__(self, series, buf=None, length=True, header=True, index=True,
165165
self._chk_truncate()
166166

167167
def _chk_truncate(self):
168-
from pandas.tools.merge import concat
168+
from pandas.tools.concat import concat
169169
max_rows = self.max_rows
170170
truncate_v = max_rows and (len(self.series) > max_rows)
171171
series = self.series
@@ -406,7 +406,7 @@ def _chk_truncate(self):
406406
Checks whether the frame should be truncated. If so, slices
407407
the frame up.
408408
"""
409-
from pandas.tools.merge import concat
409+
from pandas.tools.concat import concat
410410

411411
# Column of which first element is used to determine width of a dot col
412412
self.tr_size_col = -1

pandas/io/gbq.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
import numpy as np
1111

1212
from distutils.version import StrictVersion
13-
from pandas import compat
14-
from pandas.core.api import DataFrame
15-
from pandas.tools.merge import concat
13+
from pandas import compat, DataFrame, concat
1614
from pandas.core.common import PandasError
1715
from pandas.compat import lzip, bytes_to_str
1816

pandas/io/pytables.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,12 @@
2626

2727
import pandas as pd
2828
from pandas import (Series, DataFrame, Panel, Panel4D, Index,
29-
MultiIndex, Int64Index, isnull)
29+
MultiIndex, Int64Index, isnull, concat,
30+
SparseSeries, SparseDataFrame, PeriodIndex,
31+
DatetimeIndex, TimedeltaIndex)
3032
from pandas.core import config
3133
from pandas.io.common import _stringify_path
32-
from pandas.sparse.api import SparseSeries, SparseDataFrame
3334
from pandas.sparse.array import BlockIndex, IntIndex
34-
from pandas.tseries.api import PeriodIndex, DatetimeIndex
35-
from pandas.tseries.tdi import TimedeltaIndex
3635
from pandas.core.base import StringMixin
3736
from pandas.formats.printing import adjoin, pprint_thing
3837
from pandas.core.common import _asarray_tuplesafe, PerformanceWarning
@@ -42,7 +41,6 @@
4241
_block2d_to_blocknd,
4342
_factor_indexer, _block_shape)
4443
from pandas.core.index import _ensure_index
45-
from pandas.tools.merge import concat
4644
from pandas import compat
4745
from pandas.compat import u_safe as u, PY3, range, lrange, string_types, filter
4846
from pandas.core.config import get_option

pandas/tests/groupby/test_groupby.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@
66
from numpy import nan
77

88
from pandas import (date_range, bdate_range, Timestamp,
9-
isnull, Index, MultiIndex, DataFrame, Series)
9+
isnull, Index, MultiIndex, DataFrame, Series,
10+
concat, Panel)
1011
from pandas.core.common import UnsupportedFunctionCall
1112
from pandas.util.testing import (assert_panel_equal, assert_frame_equal,
1213
assert_series_equal, assert_almost_equal,
1314
assert_index_equal, assertRaisesRegexp)
1415
from pandas.compat import (range, long, lrange, StringIO, lmap, lzip, map, zip,
1516
builtins, OrderedDict, product as cart_product)
1617
from pandas import compat
17-
from pandas.core.panel import Panel
18-
from pandas.tools.merge import concat
1918
from collections import defaultdict
2019
import pandas.core.common as com
2120
import numpy as np

0 commit comments

Comments
 (0)