Ich weiß nicht, wie es zu tun mit einem int als zweiten Parameter mit np.hsplit, aber Während ich mich umsah, fand ich einen Weg, dies mit einem Array als Parameter zu tun.
Die Art und Weise zu tun sei:
temp_array = [(i+1)*10 for i in range((129-1)//10)]
y = np.hsplit(x,temp_array)
oder in einer Zeile:
y = np.hsplit(x,[(i+1)*10 for i in range((129-1)//10)])
Edit: hinzugefügt -1
während das Array zu schaffen, bei der die Erzeugung eines leeren Arrays zu verhindern, Ende von x, wenn die Größe des ursprünglichen Arrays ein Vielfaches der Größe des gewünschten Unterarrays ist;
Edit2: eine andere Art und Weise die temp_array zu schaffen
temp_array = np.arange(10,129,10)
ist alles in einer Zeile Putting:
y = np.hsplit(x,np.arange(10,129,10))
Edit3: Fand heraus, gibt es ein Problem mit python3 war (wurde mit python2 Prüfung): Das Ergebnis einer int-Division kann ein float sein. Verwenden Sie //
anstelle von /
für die Division, um sicherzustellen, das Ergebnis ist ein int
Erläuterung: Ich erstelle ein Array ('splitting_array') mit jedem Vielfachen der Größe des Sub-Array möchte ich streng zwischen 0 und der Größe des ursprünglichen Arrays.
Ich spaltete dann das ursprüngliche Array mit dem 'Splitting_array'. Laut dem Dokument für numpy.split teilt es das original_array entlang der horizontalen Achse bei den Indizes, die von 'splitting_array' angegeben werden.
Also, in unserem Fall wird die original_array vor jedem Index, der ein Vielfaches von 10 ist.
Dank @kasramvd – Rangooski