Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Luontitoiminnot 1D-Arrays | NumPy Perusteet
Lopullinen NumPy

Pyyhkäise näyttääksesi valikon

book
Luontitoiminnot 1D-Arrays

Perus taulukon luomisen lisäksi nimenomaisesti määrittelemällä elementit, numpy mahdollistaa myös automaattisen taulukon luomisen erityisten funktioiden avulla. Tässä on kaksi yleisintä funktiota, jotka luovat yksinomaan 1D-taulukoita:

  • arange();

  • linspace().

arange()

numpy.arange()-funktio on samanlainen kuin Pythonin sisäänrakennettu range()-funktio; kuitenkin se palauttaa ndarray-taulukon. Käytännössä se luo taulukon, jossa on tasavälein olevia elementtejä määritellyllä välillä.

Esimerkiksi, jos määritelty väli on 0:sta 10:een askelvälin ollessa 2, tuloksena oleva taulukko olisi: [0, 2, 4, 6, 8].

Tässä ovat sen kolme tärkeintä parametria ja niiden roolit:

  1. start:

    • Oletusarvo: 0;

    • Edustaa taulukon ensimmäistä elementtiä.

  2. stop:

    • Ei oletusarvoa;

    • Määrittelee päätepisteen, joka ei sisälly taulukkoon.

  3. step:

    • Oletusarvo: 1;

    • Määrittää lisäyksen, joka lisätään jokaiseen seuraavaan elementtiin.

12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Vaikka arange() voi toimia reaalilukujen kanssa, numpy.linspace() on suositeltavampi kuin numpy.arange() tähän tarkoitukseen, koska arange() voi tuottaa odottamattomia tuloksia johtuen liukulukutarkkuusvirheistä askelten laskennassa. Sen sijaan linspace() luo tietyn määrän tasaisesti jakautuneita pisteitä tietyllä välillä, varmistaen tarkkuuden ja johdonmukaisuuden.

linspace()-funktiossa step-parametrin sijasta käytetään num-parametria, jolla määritetään näytteiden määrä (numerot) annetulla välillä (oletus on 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

endpoint-parametri määrittää, sisältyykö stop-arvo. Oletuksena se on True (sisältyvä). Asettamalla sen False-arvoksi stop-arvo jätetään pois, mikä hieman pienentää askelkokoa.

Tässä on vertailu array_inclusive ja array_exclusive välillä:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Kun endpoint=True, väli [0, 1] jaetaan 4 yhtä suureen osaan ja sisältää päätepisteen itsessään (1), mikä johtaa askelkokoon (1 - 0) / 4 = 0.25.

Kun endpoint=False, väli [0, 1) jaetaan 5 yhtä suureen osaan, koska päätepiste on poissuljettu, mikä johtaa askelkokoon (1 - 0) / 5 = 0.2.

Huomautus

Voit aina oppia lisää näistä funktioista niiden dokumentaatiosta: arange, linspace.

Tehtävä

Swipe to start coding

  1. Käytä arange()-funktiota luodaksesi even_numbers-taulukon.
  2. Määritä argumentit luodaksesi taulukko parillisista numeroista 2 ja 21 välillä poissulkien 21.
  3. Käytä sopivaa funktiota luodaksesi samples-taulukon, joka mahdollistaa tietyn määrän arvoja annetulla välillä.
  4. Määritä ensimmäiset kolme argumenttia luodaksesi taulukko 10 yhtä suuresta numerosta välillä 5 ja 6.
  5. Varmista, että 6 ei sisälly samples-taulukkoon.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

book
Luontitoiminnot 1D-Arrays

Perus taulukon luomisen lisäksi nimenomaisesti määrittelemällä elementit, numpy mahdollistaa myös automaattisen taulukon luomisen erityisten funktioiden avulla. Tässä on kaksi yleisintä funktiota, jotka luovat yksinomaan 1D-taulukoita:

  • arange();

  • linspace().

arange()

numpy.arange()-funktio on samanlainen kuin Pythonin sisäänrakennettu range()-funktio; kuitenkin se palauttaa ndarray-taulukon. Käytännössä se luo taulukon, jossa on tasavälein olevia elementtejä määritellyllä välillä.

Esimerkiksi, jos määritelty väli on 0:sta 10:een askelvälin ollessa 2, tuloksena oleva taulukko olisi: [0, 2, 4, 6, 8].

Tässä ovat sen kolme tärkeintä parametria ja niiden roolit:

  1. start:

    • Oletusarvo: 0;

    • Edustaa taulukon ensimmäistä elementtiä.

  2. stop:

    • Ei oletusarvoa;

    • Määrittelee päätepisteen, joka ei sisälly taulukkoon.

  3. step:

    • Oletusarvo: 1;

    • Määrittää lisäyksen, joka lisätään jokaiseen seuraavaan elementtiin.

12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Vaikka arange() voi toimia reaalilukujen kanssa, numpy.linspace() on suositeltavampi kuin numpy.arange() tähän tarkoitukseen, koska arange() voi tuottaa odottamattomia tuloksia johtuen liukulukutarkkuusvirheistä askelten laskennassa. Sen sijaan linspace() luo tietyn määrän tasaisesti jakautuneita pisteitä tietyllä välillä, varmistaen tarkkuuden ja johdonmukaisuuden.

linspace()-funktiossa step-parametrin sijasta käytetään num-parametria, jolla määritetään näytteiden määrä (numerot) annetulla välillä (oletus on 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

endpoint-parametri määrittää, sisältyykö stop-arvo. Oletuksena se on True (sisältyvä). Asettamalla sen False-arvoksi stop-arvo jätetään pois, mikä hieman pienentää askelkokoa.

Tässä on vertailu array_inclusive ja array_exclusive välillä:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Kun endpoint=True, väli [0, 1] jaetaan 4 yhtä suureen osaan ja sisältää päätepisteen itsessään (1), mikä johtaa askelkokoon (1 - 0) / 4 = 0.25.

Kun endpoint=False, väli [0, 1) jaetaan 5 yhtä suureen osaan, koska päätepiste on poissuljettu, mikä johtaa askelkokoon (1 - 0) / 5 = 0.2.

Huomautus

Voit aina oppia lisää näistä funktioista niiden dokumentaatiosta: arange, linspace.

Tehtävä

Swipe to start coding

  1. Käytä arange()-funktiota luodaksesi even_numbers-taulukon.
  2. Määritä argumentit luodaksesi taulukko parillisista numeroista 2 ja 21 välillä poissulkien 21.
  3. Käytä sopivaa funktiota luodaksesi samples-taulukon, joka mahdollistaa tietyn määrän arvoja annetulla välillä.
  4. Määritä ensimmäiset kolme argumenttia luodaksesi taulukko 10 yhtä suuresta numerosta välillä 5 ja 6.
  5. Varmista, että 6 ei sisälly samples-taulukkoon.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt