Taulukoiden Litistäminen
Tasoitus tarkoittaa taulukon muuttamista moniulotteisesta taulukosta 1D-taulukoksi, käytännössä sen sisällön purkamista.
Tämä operaatio on hyödyllinen, kun sinun täytyy käsitellä taulukon elementtejä yksi kerrallaan tai kun haluat tehdä datasta sopivampaa tietyille algoritmeille.
NumPy:ssä on kolme mahdollista vaihtoehtoa tasoittamiseen:
- Käyttämällä
ndarray.reshape(-1)
-metodia tainumpy.reshape(array, -1)
-funktiota; - Käyttämällä
ndarray.ravel()
-metodia tainumpy.ravel(array)
-funktiota; - Käyttämällä
ndarray.flatten()
-metodia.
reshape(-1)
.reshape(-1)
-metodi tai reshape(array, -1)
-funktio palauttaa jatkuvan tasoitetun taulukon, jossa on sama määrä elementtejä.
Kuten olemme jo maininneet edellisessä luvussa, -1
laskee automaattisesti ulottuvuuden koon alkuperäisen taulukon koon perusteella. Koska annamme vain yhden kokonaisluvun shape
:lle, palautetaan 1D-taulukko, jossa on sama määrä elementtejä.
1234567import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
.reshape()
-menetelmä tai vastaava funktio palauttaa alkuperäisen taulukon näkymän, joten kaikki muutokset, jotka tehdään uudelleenmuotoiltuun taulukkoon, vaikuttavat myös alkuperäiseen taulukkoon.
Käyttämällä flattened_array = np.reshape(array_2d, -1)
voidaan käyttää sen sijaan, että kutsutaan menetelmää.
ravel()
ndarray.ravel()
-menetelmä tai numpy.ravel(array)
-funktio toimii samalla tavalla kuin reshape(-1)
ja palauttaa myös alkuperäisen taulukon näkymän:
1234567import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
flattened_array = np.ravel(array_2d)
voidaan käyttää metodin kutsumisen sijasta.
ndarray.flatten()
Jos haluat kopion alkuperäisestä taulukosta, et näkymää, voit käyttää .flatten()
-metodia:
1234567import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
Huomautus
Voit aina kopioida taulukon näkymän luodaksesi erillisen objektin ja muokata tätä kopiota vaikuttamatta alkuperäiseen taulukkoon.
Swipe to start coding
-
Käytä
.flatten()
metodia oikeinexam_scores
-taulukon litistämiseen ja tallenna tulosexam_scores_flattened
. -
Käytä
.reshape()
metodia oikeinexam_scores
-taulukon litistämiseen ja tallenna tulosexam_scores_reshaped
. -
Käytä
.ravel()
metodiaexam_scores
-taulukon litistämiseen ja tallenna tulosexam_scores_raveled
. -
Valitse kolmesta luodusta litistetystä taulukosta se, joka on alkuperäisen taulukon kopio, ei näkymä, ja aseta sen ensimmäiseksi elementiksi
100
(käytä positiivista indeksointia).
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.7
Taulukoiden Litistäminen
Pyyhkäise näyttääksesi valikon
Tasoitus tarkoittaa taulukon muuttamista moniulotteisesta taulukosta 1D-taulukoksi, käytännössä sen sisällön purkamista.
Tämä operaatio on hyödyllinen, kun sinun täytyy käsitellä taulukon elementtejä yksi kerrallaan tai kun haluat tehdä datasta sopivampaa tietyille algoritmeille.
NumPy:ssä on kolme mahdollista vaihtoehtoa tasoittamiseen:
- Käyttämällä
ndarray.reshape(-1)
-metodia tainumpy.reshape(array, -1)
-funktiota; - Käyttämällä
ndarray.ravel()
-metodia tainumpy.ravel(array)
-funktiota; - Käyttämällä
ndarray.flatten()
-metodia.
reshape(-1)
.reshape(-1)
-metodi tai reshape(array, -1)
-funktio palauttaa jatkuvan tasoitetun taulukon, jossa on sama määrä elementtejä.
Kuten olemme jo maininneet edellisessä luvussa, -1
laskee automaattisesti ulottuvuuden koon alkuperäisen taulukon koon perusteella. Koska annamme vain yhden kokonaisluvun shape
:lle, palautetaan 1D-taulukko, jossa on sama määrä elementtejä.
1234567import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
.reshape()
-menetelmä tai vastaava funktio palauttaa alkuperäisen taulukon näkymän, joten kaikki muutokset, jotka tehdään uudelleenmuotoiltuun taulukkoon, vaikuttavat myös alkuperäiseen taulukkoon.
Käyttämällä flattened_array = np.reshape(array_2d, -1)
voidaan käyttää sen sijaan, että kutsutaan menetelmää.
ravel()
ndarray.ravel()
-menetelmä tai numpy.ravel(array)
-funktio toimii samalla tavalla kuin reshape(-1)
ja palauttaa myös alkuperäisen taulukon näkymän:
1234567import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
flattened_array = np.ravel(array_2d)
voidaan käyttää metodin kutsumisen sijasta.
ndarray.flatten()
Jos haluat kopion alkuperäisestä taulukosta, et näkymää, voit käyttää .flatten()
-metodia:
1234567import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
Huomautus
Voit aina kopioida taulukon näkymän luodaksesi erillisen objektin ja muokata tätä kopiota vaikuttamatta alkuperäiseen taulukkoon.
Swipe to start coding
-
Käytä
.flatten()
metodia oikeinexam_scores
-taulukon litistämiseen ja tallenna tulosexam_scores_flattened
. -
Käytä
.reshape()
metodia oikeinexam_scores
-taulukon litistämiseen ja tallenna tulosexam_scores_reshaped
. -
Käytä
.ravel()
metodiaexam_scores
-taulukon litistämiseen ja tallenna tulosexam_scores_raveled
. -
Valitse kolmesta luodusta litistetystä taulukosta se, joka on alkuperäisen taulukon kopio, ei näkymä, ja aseta sen ensimmäiseksi elementiksi
100
(käytä positiivista indeksointia).
Ratkaisu
Kiitos palautteestasi!
Awesome!
Completion rate improved to 3.7single