Skip to content

Commit eaa9472

Browse files
committed
fix asv for imports
more cleaning
1 parent d19e7a7 commit eaa9472

File tree

15 files changed

+50
-46
lines changed

15 files changed

+50
-46
lines changed

asv_bench/benchmarks/pandas_vb_common.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,22 @@
88
import random
99
import numpy as np
1010
import threading
11+
from importlib import import_module
12+
1113
try:
1214
from pandas.compat import range
1315
except ImportError:
1416
pass
1517

1618
np.random.seed(1234)
17-
try:
18-
import pandas._tseries as lib
19-
except:
20-
import pandas.libs.lib as lib
19+
20+
# try em until it works!
21+
for imp in ['pandas_tseries', 'pandas.lib', 'pandas.libs.lib']:
22+
try:
23+
lib = import_module(imp)
24+
break
25+
except:
26+
pass
2127

2228
try:
2329
Panel = Panel

doc/source/whatsnew/v0.20.0.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ v0.20.0 (????, 2017)
55

66
This is a major release from 0.19 and includes a small number of API changes, several new features,
77
enhancements, and performance improvements along with a large number of bug fixes. We recommend that all
8-
users upgrade to that version.
8+
users upgrade to this version.
99

1010
Highlights include:
1111

@@ -255,7 +255,7 @@ Possible incompat for HDF5 formats for pandas < 0.13.0
255255
been dropped in favor of ``pd.Series``. (:issue:``15098).
256256

257257
This *may* cause HDF5 files that were created in prior versions to become unreadable if ``pd.TimeSeries``
258-
was used. This is most likely to be for pandas < 0.13.0. If you find yourself in that situation.
258+
was used. This is most likely to be for pandas < 0.13.0. If you find yourself in this situation.
259259
You can use a recent prior version of pandas to read in your HDF5 files,
260260
then write them out again after applying the procedure below.
261261

@@ -460,16 +460,16 @@ If indicated, a deprecation warning will be issued if you reference that module.
460460

461461
"pandas.json", "pandas.io.json.libjson", "X"
462462
"pandas.parser", "pandas.io.libparsers", "X"
463+
"pandas.lib", "pandas.libs.lib", "X"
463464
"pandas.io.sas.saslib", "pandas.io.sas.libsas", ""
464465
"pandas.msgpack", "pandas.io.msgpack", ""
465-
"pandas._testing", "pandas.util.libtesting", ""
466-
"pandas._sparse", "pandas.sparse.libsparse", ""
467-
"pandas._hash", "pandas.tools.libhash", ""
468466
"pandas.tslib", "pandas.libs.tslib", ""
469467
"pandas.index", "pandas.libs.index", ""
470468
"pandas.algos", "pandas.libs.algos", ""
471-
"pandas.lib", "pandas.libs.lib", "X"
472469
"pandas.hashtable", "pandas.libs.hashtable", ""
470+
"pandas._testing", "pandas.util.libtesting", ""
471+
"pandas._sparse", "pandas.sparse.libsparse", ""
472+
"pandas._hash", "pandas.tools.libhash", ""
473473
"pandas._window", "pandas.core.libwindow", ""
474474
"pandas._join", "pandas.libs.join", ""
475475
"pandas._period", "pandas.libs.period", ""
@@ -533,7 +533,7 @@ New Behavior:
533533
Other API Changes
534534
^^^^^^^^^^^^^^^^^
535535

536-
- ``numexpr`` version is now required to be >= 2.4.6 and it will not be used at all if that requisite is not fulfilled (:issue:`15213`).
536+
- ``numexpr`` version is now required to be >= 2.4.6 and it will not be used at all if this requisite is not fulfilled (:issue:`15213`).
537537
- ``CParserError`` has been renamed to ``ParserError`` in ``pd.read_csv`` and will be removed in the future (:issue:`12665`)
538538
- ``SparseArray.cumsum()`` and ``SparseSeries.cumsum()`` will now always return ``SparseArray`` and ``SparseSeries`` respectively (:issue:`12855`)
539539
- ``DataFrame.applymap()`` with an empty ``DataFrame`` will return a copy of the empty ``DataFrame`` instead of a ``Series`` (:issue:`8222`)
@@ -599,7 +599,7 @@ Performance Improvements
599599
Bug Fixes
600600
~~~~~~~~~
601601

602-
- Bug in ``Timestamp.replace`` now raises ``TypeError`` when incorrect argument names are given; previously that raised ``ValueError`` (:issue:`15240`)
602+
- Bug in ``Timestamp.replace`` now raises ``TypeError`` when incorrect argument names are given; previously this raised ``ValueError`` (:issue:`15240`)
603603
- Bug in ``Index`` power operations with reversed operands (:issue:`14973`)
604604
- Bug in ``TimedeltaIndex`` addition where overflow was being allowed without error (:issue:`14816`)
605605
- Bug in ``TimedeltaIndex`` raising a ``ValueError`` when boolean indexing with ``loc`` (:issue:`14946`)
@@ -674,7 +674,7 @@ Bug Fixes
674674
- Bug in ``DataFrame.resample().median()`` if duplicate column names are present (:issue:`14233`)
675675

676676
- Bug in ``DataFrame.groupby().describe()`` when grouping on ``Index`` containing tuples (:issue:`14848`)
677-
- Bug in creating a ``MultiIndex`` with tuples and not passing a list of names; that will now raise ``ValueError`` (:issue:`15110`)
677+
- Bug in creating a ``MultiIndex`` with tuples and not passing a list of names; this will now raise ``ValueError`` (:issue:`15110`)
678678
- Bug in ``groupby().nunique()`` with a datetimelike-grouper where bins counts were incorrect (:issue:`13453`)
679679

680680
- Bug in catching an overflow in ``Timestamp`` + ``Timedelta/Offset`` operations (:issue:`15126`)

pandas/compat/pickle_compat.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ def load_reduce(self):
6666
# 12588, extensions moving
6767
('pandas._sparse', 'BlockIndex'): ('pandas.sparse.libsparse', 'BlockIndex'),
6868
('pandas.tslib', 'Timestamp'): ('pandas.libs.tslib', 'Timestamp'),
69-
('pandas.tslib', '__nat_unpickle'): ('pandas.libs.tslib', '__nat_unpickle')
69+
('pandas.tslib', '__nat_unpickle'): ('pandas.libs.tslib', '__nat_unpickle'),
70+
('pandas._period', 'Period'): ('pandas.libs.period', 'Period')
7071
}
7172

7273

pandas/core/common.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from functools import partial
99

1010
import numpy as np
11-
import pandas.libs.lib as lib
12-
import pandas.libs.tslib as tslib
11+
from pandas.libs import lib, tslib
12+
1313
from pandas import compat
1414
from pandas.compat import long, zip, iteritems
1515
from pandas.core.config import get_option
@@ -476,7 +476,6 @@ def _where_compat(mask, arr1, arr2):
476476
new_vals = np.where(mask, arr1.view('i8'), arr2.view('i8'))
477477
return new_vals.view(_NS_DTYPE)
478478

479-
import pandas.libs.tslib as tslib
480479
if arr1.dtype == _NS_DTYPE:
481480
arr1 = tslib.ints_to_pydatetime(arr1.view('i8'))
482481
if arr2.dtype == _NS_DTYPE:

pandas/core/frame.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@
9393
from pandas.formats.printing import pprint_thing
9494
import pandas.tools.plotting as gfx
9595

96-
import pandas.libs.lib as lib
97-
import pandas.libs.algos as _algos
96+
from pandas.libs import lib, algos as _algos
9897

9998
from pandas.core.config import get_option
10099

pandas/core/generic.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,9 @@
66
import gc
77

88
import numpy as np
9-
import pandas.libs.lib as lib
10-
from pandas.libs import tslib
11-
129
import pandas as pd
1310

14-
11+
from pandas.libs import tslib, lib
1512
from pandas.types.common import (_coerce_to_dtype,
1613
_ensure_int64,
1714
needs_i8_conversion,

pandas/core/groupby.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@
5858
import pandas.core.algorithms as algos
5959
import pandas.core.common as com
6060
from pandas.core.config import option_context
61-
import pandas.libs.lib as lib
62-
from pandas.libs.lib import Timestamp
63-
from pandas.libs import tslib, algos as _algos
61+
62+
from pandas.libs import lib, tslib, algos as _algos
63+
from pandas.libs.lib import Timestamp, count_level_2d
6464

6565
_doc_template = """
6666
@@ -4004,7 +4004,6 @@ def _apply_to_column_groupbys(self, func):
40044004
def count(self):
40054005
""" Compute count of group, excluding missing values """
40064006
from functools import partial
4007-
from pandas.libs.lib import count_level_2d
40084007
from pandas.types.missing import _isnull_ndarraylike as isnull
40094008

40104009
data, _ = self._get_data_to_aggregate()

pandas/core/internals.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,17 @@
5353

5454
import pandas.core.missing as missing
5555
from pandas.sparse.array import _maybe_to_sparse, SparseArray
56-
import pandas.libs.lib as lib
57-
import pandas.libs.tslib as tslib
56+
from pandas.libs import lib, tslib
57+
from pandas.libs.tslib import Timedelta
58+
from pandas.libs.lib import BlockPlacement
59+
5860
import pandas.computation.expressions as expressions
5961
from pandas.util.decorators import cache_readonly
6062
from pandas.util.validators import validate_bool_kwarg
6163

62-
from pandas.libs.tslib import Timedelta
6364
from pandas import compat, _np_version_under1p9
6465
from pandas.compat import range, map, zip, u
6566

66-
from pandas.libs.lib import BlockPlacement
67-
6867

6968
class Block(PandasObject):
7069
"""

pandas/core/missing.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import numpy as np
66
from distutils.version import LooseVersion
77

8-
from pandas.libs import algos
9-
import pandas.libs.lib as lib
8+
from pandas.libs import algos, lib
9+
1010
from pandas.compat import range, string_types
1111
from pandas.types.common import (is_numeric_v_string_like,
1212
is_float_dtype, is_datetime64_dtype,

pandas/core/ops.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@
1010
import numpy as np
1111
import pandas as pd
1212
import datetime
13+
14+
from pandas.libs import lib, index as _index, tslib, algos as _algos
15+
from pandas.libs.tslib import iNaT
16+
1317
from pandas import compat
1418
from pandas.util.decorators import Appender
1519
import pandas.computation.expressions as expressions
16-
from pandas.libs import lib, index as _index, tslib, algos as _algos
17-
from pandas.libs.tslib import iNaT
20+
1821
from pandas.compat import bind_method
1922
import pandas.core.missing as missing
2023

pandas/core/window.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@
2424
needs_i8_conversion,
2525
is_timedelta64_dtype,
2626
is_list_like,
27-
_ensure_float64)
27+
_ensure_float64,
28+
is_scalar)
2829
import pandas as pd
29-
from pandas.libs.lib import isscalar
30+
3031
from pandas.core.base import (PandasObject, SelectionMixin,
3132
GroupByMixin)
3233
import pandas.core.common as com
@@ -154,7 +155,7 @@ def _gotitem(self, key, ndim, subset=None):
154155
self = self._shallow_copy(subset)
155156
self._reset_cache()
156157
if subset.ndim == 2:
157-
if isscalar(key) and key in subset or is_list_like(key):
158+
if is_scalar(key) and key in subset or is_list_like(key):
158159
self._selection = key
159160
return self
160161

pandas/io/pytables.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@
4444
from pandas.core.config import get_option
4545
from pandas.computation.pytables import Expr, maybe_expression
4646

47-
import pandas.libs.lib as lib
48-
from pandas.libs import tslib, algos
47+
from pandas.libs import tslib, algos, lib
4948

5049
from distutils.version import LooseVersion
5150

pandas/tests/io/data/gbq_fake_job.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{u'status': {u'state': u'DONE'}, u'kind': u'bigquery#job', u'statistics': {u'query': {u'cacheHit': True, u'totalBytesProcessed': u'0'}, u'endTime': u'1377668744674', u'totalBytesProcessed': u'0', u'startTime': u'1377668744466'}, u'jobReference': {u'projectId': u'57288129629', u'jobId': u'bqjob_r5f956972f0190bdf_00000140c374bf42_2'}, u'etag': u'"4PTsVxg68bQkQs1RJ1Ndewqkgg4/oO4VmgFrAku4N6FWci9s7iFIftc"', u'configuration': {u'query': {u'createDisposition': u'CREATE_IF_NEEDED', u'query': u'SELECT * FROM [publicdata:samples.shakespeare]', u'writeDisposition': u'WRITE_TRUNCATE', u'destinationTable': {u'projectId': u'57288129629', u'tableId': u'anonb5ec450da88eeeb78a27784ea482ee75a146d442', u'datasetId': u'_d0b4f5f0d50dc68a3eb0fa6cba66a9a8687d9253'}}}, u'id': u'57288129629:bqjob_r5f956972f0190bdf_00000140c374bf42_2', u'selfLink': u'https://www.googleapis.com/bigquery/v2/projects/57288129629/jobs/bqjob_r5f956972f0190bdf_00000140c374bf42_2'}
1+
{u'status': {u'state': u'DONE'}, u'kind': u'bigquery#job', u'statistics': {u'query': {u'cacheHit': True, u'totalBytesProcessed': u'0'}, u'endTime': u'1377668744674', u'totalBytesProcessed': u'0', u'startTime': u'1377668744466'}, u'jobReference': {u'projectId': u'57288129629', u'jobId': u'bqjob_r5f956972f0190bdf_00000140c374bf42_2'}, u'etag': u'"4PTsVxg68bQkQs1RJ1Ndewqkgg4/oO4VmgFrAku4N6FWci9s7iFIftc"', u'configuration': {u'query': {u'createDisposition': u'CREATE_IF_NEEDED', u'query': u'SELECT * FROM [publicdata:samples.shakespeare]', u'writeDisposition': u'WRITE_TRUNCATE', u'destinationTable': {u'projectId': u'57288129629', u'tableId': u'anonb5ec450da88eeeb78a27784ea482ee75a146d442', u'datasetId': u'_d0b4f5f0d50dc68a3eb0fa6cba66a9a8687d9253'}}}, u'id': u'57288129629:bqjob_r5f956972f0190bdf_00000140c374bf42_2', u'selfLink': u'https://www.googleapis.com/bigquery/v2/projects/57288129629/jobs/bqjob_r5f956972f0190bdf_00000140c374bf42_2'}

pandas/tests/scalar/test_period.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
import pandas.tseries.period as period
77
from pandas.compat import text_type, iteritems
88
from pandas.compat.numpy import np_datetime64_compat
9-
from pandas.libs import tslib
10-
from pandas import Period, Timestamp, offsets, _period
9+
10+
from pandas.libs import tslib, period as _period
11+
from pandas import Period, Timestamp, offsets
1112
from pandas.tseries.frequencies import DAYS, MONTHS
1213

1314

pandas/tseries/frequencies.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
from pandas.tseries.offsets import DateOffset
1818
from pandas.util.decorators import cache_readonly, deprecate_kwarg
1919
import pandas.tseries.offsets as offsets
20-
import pandas.libs.lib as lib
21-
import pandas.libs.tslib as tslib
20+
21+
from pandas.libs import lib, tslib
2222
from pandas.libs.tslib import Timedelta
2323
from pytz import AmbiguousTimeError
2424

0 commit comments

Comments
 (0)