summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/lib/histograms.py9
-rw-r--r--numpy/lib/twodim_base.py8
2 files changed, 15 insertions, 2 deletions
diff --git a/numpy/lib/histograms.py b/numpy/lib/histograms.py
index 5bcedc7f4..478fbc783 100644
--- a/numpy/lib/histograms.py
+++ b/numpy/lib/histograms.py
@@ -3,6 +3,7 @@ Histogram-related functions
"""
from __future__ import division, absolute_import, print_function
+import contextlib
import functools
import operator
import warnings
@@ -922,7 +923,13 @@ def histogram(a, bins=10, range=None, normed=None, weights=None,
def _histogramdd_dispatcher(sample, bins=None, range=None, normed=None,
weights=None, density=None):
- return (sample, bins, weights)
+ if hasattr(sample, 'shape'): # same condition as used in histogramdd
+ yield sample
+ else:
+ yield from sample
+ with contextlib.supress(TypeError):
+ yield from bins
+ yield weights
@array_function_dispatch(_histogramdd_dispatcher)
diff --git a/numpy/lib/twodim_base.py b/numpy/lib/twodim_base.py
index e165c9b02..1928aa10c 100644
--- a/numpy/lib/twodim_base.py
+++ b/numpy/lib/twodim_base.py
@@ -565,7 +565,13 @@ def vander(x, N=None, increasing=False):
def _histogram2d_dispatcher(x, y, bins=None, range=None, normed=None,
weights=None, density=None):
- return (x, y, bins, weights)
+ yield x
+ yield y
+ if hasattr(bins, 'shape'): # same condition as used in histogramdd
+ yield bins
+ else:
+ yield from bins
+ return weights
@array_function_dispatch(_histogram2d_dispatcher)