Eingebaute Funktion in numpy, um eine Ganzzahl zu einer Reihe von booleschen Werten in einer bitweisen Weise zu interpretieren?

Ich frage mich, ob es eine einfache, integrierte Funktion in Python / Numpy für die Umwandlung eines Integer-Datentyps in ein Array / eine Liste von Booleans, entsprechend einer bitweisen Interpretation der Zahl bitte?

z.B:

x = 5 # ie 101 in binary print FUNCTION(x) 

Und dann würde ich gerne zurückkehren:

 [True, False, True] 

Oder idealerweise mit padding, um immer 8 boolesche Werte (dh ein Vollbyte) zurückzugeben:

 [False, False, False, False, False, True, False, True] 

Vielen Dank

2 Solutions collect form web for “Eingebaute Funktion in numpy, um eine Ganzzahl zu einer Reihe von booleschen Werten in einer bitweisen Weise zu interpretieren?”

Du kannst numpys unpackbits .

Aus den docs ( http://docs.scipy.org/doc/numpy/reference/generated/numpy.unpackbits.html )

 >>> a = np.array([[2], [7], [23]], dtype=np.uint8) >>> a array([[ 2], [ 7], [23]], dtype=uint8) >>> b = np.unpackbits(a, axis=1) >>> b array([[0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 1, 0, 1, 1, 1]], dtype=uint8) 

Um zu einem bool-Array zu gelangen:

 In [49]: np.unpackbits(np.array([1],dtype="uint8")).astype("bool") Out[49]: array([False, False, False, False, False, False, False, True], dtype=bool) 

Nicht eine eingebaute Methode, aber etwas, um dich zu gehen (und Spaß zu schreiben)

 >>> def int_to_binary_bool(num): return [bool(int(i)) for i in "{0:08b}".format(num)] >>> int_to_binary_bool(5) [False, False, False, False, False, True, False, True] 
  • Unterschiede beim Import von Modulen / Unterpaketen von numpy und Scipy Pakete
  • Brauchen Sie Hilfe bei der Lösung einer nicht-linearen ODE der zweiten Ordnung in Python
  • Verbesserung des Speicherverbrauchs in einem Array-weiten Filter, um eine Blockbearbeitung zu vermeiden
  • Rundschwimmer bis zum nächsten 2/100
  • Verknüpfung mit audiolab in python2.6 auf osx
  • Scipy, fftpack und float64
  • Wie kann ich den Speicherverbrauch von Scikit-Learn Vectorizern reduzieren?
  • Ndimage- oder Skimage-Funktionen für die Rückgabe von Pixel-Nachbarschaften
  • Scipy curve_fit scheitert auf exponentielle Passung
  • Jede Möglichkeit, ein System von gekoppelten Differentialgleichungen in Python zu lösen?
  • Standardabweichung für eingepasste Parameter mit scipy.ODR, wenn Daten Fehler enthalten
  • Python ist die beste Programmiersprache der Welt.