logo

нумпи.ресхапе() у Питхон-у

Функција нумпи.ресхапе() доступна је у пакету НумПи. Као што име каже, преобликовање значи 'промене облика'. Функција нумпи.ресхапе() нам помаже да добијемо нови облик у низу без промене његових података.

Понекад морамо да преобликујемо податке из широких у дугачке. Дакле, у овој ситуацији, морамо да преобликујемо низ помоћу функције ресхапе().

Синтакса

 numpy.reshape(arr, new_shape, order='C') 

Параметерс

Постоје следећи параметри функције ресхапе():

1) арр: арраи_лике

Ово је ндарраи. Ово је изворни низ који желимо да преобликујемо. Овај параметар је од суштинског значаја и игра виталну улогу у функцији нумпи.ресхапе().

функција стрелице куцаног писма

2) нев_схапе: инт или тупле оф интс

Облик у који желимо да конвертујемо наш оригинални низ треба да буде компатибилан са оригиналним низом. Ако је цео број, резултат ће бити 1-Д низ те дужине. Једна димензија облика може бити -1. Овде је вредност апроксимирана дужином низа и преосталим димензијама.

3) редослед: {'Ц', 'Ф', 'А'}, опционо

Параметар редоследа ових индекса игра кључну улогу у функцији ресхапе(). Ови редоследи индекса се користе за читање елемената изворног низа и постављање елемената у преобликовани низ користећи овај редослед индекса.

  1. Редослед индекса 'Ц' значи читање/записивање елемената који користе редослед индекса сличан Ц где се последњи индекс осе мења најбрже, назад на први индекс осе који се мења најспорије.
  2. Редослед индекса 'Ф' значи да се читају/уписују елементи који користе редослед индекса сличан Фортрану, где се последњи индекс осе мења најспорије, а први индекс осе најбрже.
  3. Редослед 'Ц' и 'Ф' не заузимају количину меморијског распореда основног низа и односе се само на редослед индексирања.
  4. Редослед индекса 'А' значи да се елементи читају/уписују у индексном редоследу сличном Фортрану, када је арр суседан у меморији, у супротном користите редослед налик Ц.

Повратак

Ова функција враћа ндарраи. То је нови објекат погледа ако је могуће; иначе ће то бити копија. Не постоји гаранција за распоред меморије враћеног низа.

Пример 1: Редослед индекса налик Ц

 import numpy as np x=np.arange(12) y=np.reshape(x, (4,3)) x y 

Излаз:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) 

У горњем коду

  • Увезли смо нумпи са псеудонимом нп.
  • Направили смо низ 'а' користећи функцију нп.арранге().
  • Декларисали смо променљиву 'и' и доделили враћену вредност функције нп.ресхапе().
  • Проследили смо низ 'к' и облик у функцију.
  • На крају, покушали смо да одштампамо вредност арр.

У излазу, низ је представљен као три реда и четири колоне.

Пример 2: Еквивалентно Ц равел па Ц преобликовање

 import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x),(3,4)) x y 

Функција равел() се користи за креирање суседног спљоштеног низа. Враћа се једнодимензионални низ који садржи елементе улаза. Копија се прави само када је потребна.

стринг методе јава

Излаз:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) 

Пример 3: Редослед индекса сличан Фортрану

 import numpy as np x=np.arange(12) y=np.reshape(x, (4, 3), order='F') x y 

Излаз:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) 

У горњем коду

  • Увезли смо нумпи са псеудонимом нп.
  • Направили смо низ 'а' користећи функцију нп.арранге().
  • Декларисали смо променљиву 'и' и доделили враћену вредност функције нп.ресхапе().
  • Проследили смо низ 'к' и облик и редослед индекса сличан Фортрану у функцији.
  • На крају, покушали смо да одштампамо вредност арр.

У излазу, низ је представљен као четири реда и три колоне.

Пример 4: Редослед индекса сличан Фортрану

 import numpy as np x=np.arange(12) y=np.reshape(np.ravel(x, order='F'), (4, 3), order='F') x y 

Излаз:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) 

Пример 5: Претпоставља се да је неодређена вредност 2

 import numpy as np x=np.arange(12) y=np.reshape(x, (2, -1)) x y 

У горњем коду

  • Увезли смо нумпи са псеудонимом нп.
  • Направили смо низ 'а' користећи функцију нп.арранге().
  • Декларисали смо променљиву 'и' и доделили враћену вредност функције нп.ресхапе().
  • Проследили смо низ 'к' и облик (неодређену вредност) у функцију.
  • На крају, покушали смо да одштампамо вредност арр.

У излазу, низ је представљен као два реда и пет колона.

Излаз:

 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]])