Skip to content

Commit 2e0b9b1

Browse files
committed
BUG: remove deprecated, untested makeQuantiles function close #1470
1 parent 1a62f1a commit 2e0b9b1

File tree

2 files changed

+10
-58
lines changed

2 files changed

+10
-58
lines changed

pandas/stats/misc.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33

44
from pandas.core.api import Series, DataFrame, isnull, notnull
55
from pandas.core.series import remove_na
6-
from pandas.compat.scipy import scoreatpercentile
76

87
from pandas.tools.tile import (bucket, bucketcat, bucketpanel,
9-
quantileTS, makeQuantiles)
8+
quantileTS)
109

1110

1211
def zscore(series):

pandas/tools/tile.py

Lines changed: 9 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -279,12 +279,12 @@ def bucketcat(series, cats):
279279
cats = np.asarray(cats)
280280

281281
unique_labels = np.unique(cats)
282-
unique_labels = unique_labels[notnull(unique_labels)]
282+
unique_labels = unique_labels[com.notnull(unique_labels)]
283283

284284
# group by
285285
data = {}
286286

287-
for i, label in enumerate(unique_labels):
287+
for label in unique_labels:
288288
data[label] = series[cats == label]
289289

290290
return DataFrame(data, columns=unique_labels)
@@ -331,15 +331,12 @@ def _bucketpanel_by(series, xby, yby, xbins, ybins):
331331
xby = xby.reindex(series.index)
332332
yby = yby.reindex(series.index)
333333

334-
n = len(series)
335-
# indices = np.arange(n)
336-
337334
xlabels = _bucket_labels(xby.reindex(series.index), xbins)
338335
ylabels = _bucket_labels(yby.reindex(series.index), ybins)
339336

340337
labels = _uniquify(xlabels, ylabels, xbins, ybins)
341338

342-
mask = isnull(labels)
339+
mask = com.isnull(labels)
343340
labels[mask] = -1
344341

345342
unique_labels = np.unique(labels)
@@ -354,8 +351,8 @@ def relabel(key):
354351
xlab = xlabels[pos]
355352
ylab = ylabels[pos]
356353

357-
return '%sx%s' % (int(xlab) if notnull(xlab) else 'NULL',
358-
int(ylab) if notnull(ylab) else 'NULL')
354+
return '%sx%s' % (int(xlab) if com.notnull(xlab) else 'NULL',
355+
int(ylab) if com.notnull(ylab) else 'NULL')
359356

360357
return bucketed.rename(columns=relabel)
361358

@@ -372,7 +369,7 @@ def _bucketpanel_cat(series, xcat, ycat):
372369
sorted_ylabels = ylabels.take(sorter)
373370

374371
unique_labels = np.unique(labels)
375-
unique_labels = unique_labels[notnull(unique_labels)]
372+
unique_labels = unique_labels[com.notnull(unique_labels)]
376373

377374
locs = sorted_labels.searchsorted(unique_labels)
378375
xkeys = sorted_xlabels.take(locs)
@@ -394,8 +391,6 @@ def _intern(values):
394391
labels = uniqued.searchsorted(values)
395392
return labels, uniqued
396393

397-
def _intern_fast(values):
398-
pass
399394

400395
def _uniquify(xlabels, ylabels, xbins, ybins):
401396
# encode the stuff, create unique label
@@ -405,19 +400,6 @@ def _uniquify(xlabels, ylabels, xbins, ybins):
405400

406401
return _xpiece + _ypiece
407402

408-
def _cat_labels(labels):
409-
# group by
410-
data = {}
411-
412-
unique_labels = np.unique(labels)
413-
unique_labels = unique_labels[notnull(unique_labels)]
414-
415-
for label in unique_labels:
416-
mask = labels == label
417-
data[stringified] = series[mask]
418-
419-
return DataFrame(data, index=series.index)
420-
421403
def _bucket_labels(series, k):
422404
arr = np.asarray(series)
423405
mask = np.isfinite(arr)
@@ -426,43 +408,12 @@ def _bucket_labels(series, k):
426408

427409
split = np.array_split(np.arange(n)[mask].take(order), k)
428410

429-
bucketsize = n / k
430-
431411
mat = np.empty(n, dtype=float) * np.NaN
432412
for i, v in enumerate(split):
433413
mat[v] = i
434414

435415
return mat + 1
436416

437-
def makeQuantiles(series, n):
438-
"""
439-
Compute quantiles of input series.
440-
441-
Parameters
442-
----------
443-
series: Series
444-
Must have 'order' method and index
445-
n: int
446-
Number of quantile buckets
447-
448-
Returns
449-
-------
450-
(edges, quantiles)
451-
edges: ith bucket --> (left edge, right edge)
452-
quantiles: ith bucket --> set of values
453-
"""
454-
series = remove_na(series).copy()
455-
series = series.order()
456-
quantiles = {}
457-
edges = {}
458-
T = float(len(series))
459-
inc = T / n
460-
for i in range(n):
461-
theSlice = series[inc*i:(i+1)*inc]
462-
quantiles[i+1] = theSlice
463-
edges[i+1] = theSlice[0], theSlice[-1]
464-
return edges, quantiles
465-
466417
def quantileTS(frame, percentile):
467418
"""
468419
Return score at percentile for each point in time (cross-section)
@@ -477,10 +428,12 @@ def quantileTS(frame, percentile):
477428
-------
478429
Series (or TimeSeries)
479430
"""
431+
from pandas.compat.scipy import scoreatpercentile
432+
480433
def func(x):
481434
x = np.asarray(x.valid())
482435
if x.any():
483436
return scoreatpercentile(x, percentile)
484437
else:
485-
return NaN
438+
return np.nan
486439
return frame.apply(func, axis=1)

0 commit comments

Comments
 (0)