Broadcasting große Arrays in numpy Änderungen Ergebnis Typ

Ich versuche, ein numpy Array durch die Werte eines anderen zusammenzufassen. Die Lösung aus dieser Frage war sehr hilfreich und funktioniert in der Tat, wenn die Anzahl der einzigartigen Werte von x klein ist. Allerdings, wie ich die Anzahl der einzigartigen Werte von x erhöht einige ungerade Verhalten passiert:

In [1]: n = [1000, 10000, 100000] for i in n: x = np.array(range(i)) y = np.zeros(len(x)) y[x % 2 == 0] = 1 # unique values of x ux = np.unique(x)[..., np.newaxis] res = x[y==0]==ux print type(res) Out[1]: <type 'numpy.ndarray'> <type 'numpy.ndarray'> <type 'bool'> 

Sobald die Anzahl der eindeutigen x-Werte einen bestimmten Schwellenwert überschreitet, ist der aus der Sendung resultierende Typ ein Bool anstelle eines Arrays. Ist eine Obergrenze für die Größe eines Rundfunkbetriebs in numpy?

  • Python Entfernen von Array Items innerhalb für Loop
  • Ist scipy logsumexp () mit der Unterlauf-Herausforderung beschäftigt?
  • Wie mpf ein Array?
  • Zwei sortierte Arrays, Summe von 2 Elementen gleich einer bestimmten Zahl
  • Entfernen von Zeilen in einem 2D-Array, die denselben Wert haben
  • Wie macht numpy.ndarray.transpose () die Achse von nd array?
  • EDIT: Versionsinfo

     In [2]: np.__version__, sys.version Out[2]: ('1.8.0', '2.7.3 |EPD_free 7.3-1 (32-bit)| (default, Apr 12 2012, 14:30:37) [MSC v.1500 32 bit (Intel)]') 

    Python ist die beste Programmiersprache der Welt.