Skip to content

Commit 070a664

Browse files
jbrockmendelPingviinituutti
authored andcommitted
Remove unhittable methods in internals (pandas-dev#24594)
1 parent 52aae38 commit 070a664

File tree

2 files changed

+6
-64
lines changed

2 files changed

+6
-64
lines changed

pandas/core/internals/blocks.py

+5-61
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
is_re, is_re_compilable, is_sparse, is_timedelta64_dtype, pandas_dtype)
2727
import pandas.core.dtypes.concat as _concat
2828
from pandas.core.dtypes.dtypes import (
29-
CategoricalDtype, DatetimeTZDtype, ExtensionDtype, PandasExtensionDtype)
29+
CategoricalDtype, ExtensionDtype, PandasExtensionDtype)
3030
from pandas.core.dtypes.generic import (
3131
ABCDataFrame, ABCDatetimeIndex, ABCExtensionArray, ABCIndexClass,
3232
ABCSeries)
@@ -1507,15 +1507,8 @@ def _nanpercentile(values, q, axis, **kw):
15071507
len(values)).reshape(len(values),
15081508
len(qs))
15091509
else:
1510-
1511-
try:
1512-
result = _nanpercentile(values, np.array(qs) * 100,
1513-
axis=axis, **kw)
1514-
except ValueError:
1515-
1516-
# older numpies don't handle an array for q
1517-
result = [_nanpercentile(values, q * 100,
1518-
axis=axis, **kw) for q in qs]
1510+
result = _nanpercentile(values, np.array(qs) * 100,
1511+
axis=axis, **kw)
15191512

15201513
result = np.array(result, copy=False)
15211514
if self.ndim > 1:
@@ -1639,13 +1632,6 @@ def shape(self):
16391632
return (len(self.values)),
16401633
return (len(self.mgr_locs), len(self.values))
16411634

1642-
def get_values(self, dtype=None):
1643-
""" need to to_dense myself (and always return a ndim sized object) """
1644-
values = self.values.to_dense()
1645-
if values.ndim == self.ndim - 1:
1646-
values = values.reshape((1,) + values.shape)
1647-
return values
1648-
16491635
def iget(self, col):
16501636

16511637
if self.ndim == 2 and isinstance(col, tuple):
@@ -1700,49 +1686,9 @@ def putmask(self, mask, new, align=True, inplace=False, axis=0,
17001686
new_values = self._try_coerce_result(new_values)
17011687
return [self.make_block(values=new_values)]
17021688

1703-
def _slice(self, slicer):
1704-
""" return a slice of my values (but densify first) """
1705-
return self.get_values()[slicer]
1706-
17071689
def _try_cast_result(self, result, dtype=None):
17081690
return result
17091691

1710-
def _unstack(self, unstacker_func, new_columns, n_rows, fill_value):
1711-
"""Return a list of unstacked blocks of self
1712-
1713-
Parameters
1714-
----------
1715-
unstacker_func : callable
1716-
Partially applied unstacker.
1717-
new_columns : Index
1718-
All columns of the unstacked BlockManager.
1719-
n_rows : int
1720-
Only used in ExtensionBlock.unstack
1721-
fill_value : int
1722-
Only used in ExtensionBlock.unstack
1723-
1724-
Returns
1725-
-------
1726-
blocks : list of Block
1727-
New blocks of unstacked values.
1728-
mask : array_like of bool
1729-
The mask of columns of `blocks` we should keep.
1730-
"""
1731-
# NonConsolidatable blocks can have a single item only, so we return
1732-
# one block per item
1733-
unstacker = unstacker_func(self.values.T)
1734-
1735-
new_placement, new_values, mask = self._get_unstack_items(
1736-
unstacker, new_columns
1737-
)
1738-
1739-
new_values = new_values.T[mask]
1740-
new_placement = new_placement[mask]
1741-
1742-
blocks = [self.make_block_same_class(vals, [place])
1743-
for vals, place in zip(new_values, new_placement)]
1744-
return blocks, mask
1745-
17461692
def _get_unstack_items(self, unstacker, new_columns):
17471693
"""
17481694
Get the placement, values, and mask for a Block unstack.
@@ -2330,11 +2276,11 @@ def to_native_types(self, slicer=None, na_rep=None, date_format=None,
23302276
i8values = i8values[..., slicer]
23312277

23322278
from pandas.io.formats.format import _get_format_datetime64_from_values
2333-
format = _get_format_datetime64_from_values(values, date_format)
2279+
fmt = _get_format_datetime64_from_values(values, date_format)
23342280

23352281
result = tslib.format_array_from_datetime(
23362282
i8values.ravel(), tz=getattr(self.values, 'tz', None),
2337-
format=format, na_rep=na_rep).reshape(i8values.shape)
2283+
format=fmt, na_rep=na_rep).reshape(i8values.shape)
23382284
return np.atleast_2d(result)
23392285

23402286
def should_store(self, value):
@@ -2400,8 +2346,6 @@ def _maybe_coerce_values(self, values, dtype=None):
24002346
values = self._holder(values)
24012347

24022348
if dtype is not None:
2403-
if isinstance(dtype, compat.string_types):
2404-
dtype = DatetimeTZDtype.construct_from_string(dtype)
24052349
values = type(values)(values, dtype=dtype)
24062350

24072351
if values.tz is None:

pandas/tests/frame/test_indexing.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -3245,9 +3245,7 @@ def test_setitem(self):
32453245
b1 = df._data.blocks[1]
32463246
b2 = df._data.blocks[2]
32473247
tm.assert_extension_array_equal(b1.values, b2.values)
3248-
if b1.values._data.base is not None:
3249-
# base being None suffices to assure a copy was made
3250-
assert id(b1.values._data.base) != id(b2.values._data.base)
3248+
assert id(b1.values._data.base) != id(b2.values._data.base)
32513249

32523250
# with nan
32533251
df2 = df.copy()

0 commit comments

Comments
 (0)