Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Numpy tömb nem egyenlő részekre vágása hatékonyan? Részletek lent.

180
Van ez a két tömböm: A = [ 0 1 4 2 3 7 5 6 9 12 13 8 11 14 10]
B = [3 3 5 3 1]

Az A tömböt szeretném felbontani a B tömbben szereplő méretekre, úgy hogy az első 3 elem kerüljön, egy tömb-be, majd a következő 3 elem is külön tömb-be, majd a következő 5 elem is külön tömb-be és így tovább. Tehát valahogy így nézne ki a végeredmény: [0,1,4],[2,3,7],[5,6,9,12,13],[8,11,14],[10]

Ezt meg lehet valahogy valósítani csak tisztán Numpy-ban, hatékonyan?
Jelenleg 1 felhasználó nézi ezt a kérdést.
python, numpy, programozás, feladat, beadandó
0
Felsőoktatás / Informatika

Válaszok

2
Ha mindenképp numpy-jal akarod megcsinálni, akkor lehet a split-tel trükközni, hogy nagyjából ezt csinálja:
https://numpy.org/doc/stable/reference/generated/numpy.split.html
A B tömböt kell kicsit átírnod, hogy működjön.
0

Inkább új kommentet írok.
A B-ből előállítható az a tömb, ami a split-re jó megoldást ad. Ugyanis a te B tömböd a különböző új tömbök hosszát jelenti, míg a split azt várja el, hogy pozíciókat tartalmazó tömböt adj meg.
Ez pedig a B-ből úgy képezhető, hogy a z adott tömb hosszhoz hozzáadod a korábbi tömbök hosszát, vagyis itt:
B2 = [3 3+3 3+3+5 3+3+5+3 3+3+5+3+1] = [3 6 11 14 15]
1