Tilordning av Verdier til Indekserte Delmatriser
Med indekserte arrayer blir ting mer interessante. Her fokuserer vi på 1D- og 2D-delarrayer, siden 3D-delarrayer sjelden brukes i praksis.
La oss først se på tildeling av verdier til utdrag. Den generelle syntaksen ser slik ut: slice = values, hvor slice er et utdrag av en bestemt array og values er verdiene som skal tildeles.
Mulige formater for values:
- en enkel skalar (tall);
- en 1D-array med samme størrelse som utdraget (hvis det er 1D); eller størrelsen på den andre dimensjonen (hvis utdraget er 2D);
- en 2D-array med samme form som et 2D-utdrag.
123456789101112131415161718import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Når vi tildeler en skalar til et 1D-utdrag, blir denne skalaren tildelt hver enkelt element i utdraget. Når en 1D-array tildeles et 2D-utdrag, blir denne 1D-arrayen tildelt hver 1D-array i utdraget. Å tildele en skalar til et 2D-utdrag fungerer på samme måte som med et 1D-utdrag.
Tildeling av verdier til heltallsindekserte delarrayer fungerer på samme måte som med utdrag. Tildeling av verdier til boolsk indekserte delarrayer fungerer på samme måte som med 1D-utdrag.
Swipe to start coding
Du administrerer et datasett med produktpriser og vurderinger. Prisene er lagret i prices-arrayet, og vurderingene (av 10) er lagret i ratings-arrayet, der hver rad representerer en forskjellig produktkategori. Din oppgave er å oppdatere prisene og vurderingene basert på spesifikke kriterier:
- Tildel verdien
20til hvert element ipricessom er større enn 10 (boolsk indeksering) ved å bruke en skalar. - Tildel et NumPy-array med elementene
9,8til de to siste elementene i den andre raden (andre 1D-array) iratings. Bruk en positiv radindeks og en slice som kun spesifisererstart(positiv indeks).
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain what happens if the shapes of the assigned values and the slice don't match?
Can you show more examples of assigning values to slices using boolean indexing?
What is the difference between assigning a 1D array and a 2D array to a 2D slice?
Awesome!
Completion rate improved to 3.7
Tilordning av Verdier til Indekserte Delmatriser
Sveip for å vise menyen
Med indekserte arrayer blir ting mer interessante. Her fokuserer vi på 1D- og 2D-delarrayer, siden 3D-delarrayer sjelden brukes i praksis.
La oss først se på tildeling av verdier til utdrag. Den generelle syntaksen ser slik ut: slice = values, hvor slice er et utdrag av en bestemt array og values er verdiene som skal tildeles.
Mulige formater for values:
- en enkel skalar (tall);
- en 1D-array med samme størrelse som utdraget (hvis det er 1D); eller størrelsen på den andre dimensjonen (hvis utdraget er 2D);
- en 2D-array med samme form som et 2D-utdrag.
123456789101112131415161718import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
Når vi tildeler en skalar til et 1D-utdrag, blir denne skalaren tildelt hver enkelt element i utdraget. Når en 1D-array tildeles et 2D-utdrag, blir denne 1D-arrayen tildelt hver 1D-array i utdraget. Å tildele en skalar til et 2D-utdrag fungerer på samme måte som med et 1D-utdrag.
Tildeling av verdier til heltallsindekserte delarrayer fungerer på samme måte som med utdrag. Tildeling av verdier til boolsk indekserte delarrayer fungerer på samme måte som med 1D-utdrag.
Swipe to start coding
Du administrerer et datasett med produktpriser og vurderinger. Prisene er lagret i prices-arrayet, og vurderingene (av 10) er lagret i ratings-arrayet, der hver rad representerer en forskjellig produktkategori. Din oppgave er å oppdatere prisene og vurderingene basert på spesifikke kriterier:
- Tildel verdien
20til hvert element ipricessom er større enn 10 (boolsk indeksering) ved å bruke en skalar. - Tildel et NumPy-array med elementene
9,8til de to siste elementene i den andre raden (andre 1D-array) iratings. Bruk en positiv radindeks og en slice som kun spesifisererstart(positiv indeks).
Løsning
Takk for tilbakemeldingene dine!
single