Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele 1D-Taulukoiden Luontifunktiot | Numpy Basics
Numpy Perusteet
Osio 1. Luku 4
single

single

book1D-Taulukoiden Luontifunktiot

Pyyhkäise näyttääksesi valikon

Perus taulukon luonnin lisäksi, jossa määritellään alkiot suoraan, numpy mahdollistaa myös taulukon automaattisen luonnin erityisillä funktioilla. Tässä kaksi yleisintä funktiota, joilla luodaan ainoastaan yksiulotteisia taulukoita:

  • arange();
  • linspace().

arange()

numpy.arange()-funktio muistuttaa Pythonin sisäänrakennettua range()-funktiota; kuitenkin se palauttaa ndarray-olion. Käytännössä se luo taulukon, jonka alkiot ovat tasavälein annetulla välillä.

Esimerkiksi, jos annettu väli on 010 ja askelkoko on 2, tuloksena oleva taulukko on: [0, 2, 4, 6, 8].

Tässä kolme tärkeintä parametria ja niiden merkitys:

  1. start:

    • Oletusarvo: 0;
    • Määrittää taulukon ensimmäisen alkion.
  2. stop:

    • Ei oletusarvoa;
    • Määrittää päätepisteen, jota ei sisällytetä taulukkoon.
  3. step:

    • Oletusarvo: 1;
    • Määrittää välin, joka lisätään jokaiseen seuraavaan alkioon.
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 käsitellä reaalilukuja, numpy.linspace() on suositeltavampi kuin numpy.arange() tähän tarkoitukseen, koska arange() voi tuottaa odottamattomia tuloksia liukulukutarkkuusvirheiden vuoksi askelia laskettaessa. Sen sijaan linspace() tuottaa tietyn määrän tasavälein sijoitettuja pisteitä annetulla välillä, mikä takaa tarkkuuden ja johdonmukaisuuden.

linspace()-funktiossa step-parametrin sijaan käytetään num-parametria, jolla määritellään näytteiden määrä (lukujen määrä) 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ällytetäänkö stop-arvo. Oletuksena se on True (sisällytetään). Jos se asetetaan arvoon False, stop-arvo jätetään pois, jolloin askelväli pienenee hieman.

Alla on vertailu taulukoista array_inclusive ja array_exclusive:

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][0, 1] jaetaan neljään yhtä suureen osaan ja päätepiste (1) sisältyy mukaan, jolloin askelkooksi tulee (10)/4=0.25(1 - 0) / 4 = 0.25.

Kun endpoint=False, väli [0,1)[0, 1) jaetaan viiteen yhtä suureen osaan, koska päätepiste jätetään pois, jolloin askelkooksi tulee (10)/5=0.2(1 - 0) / 5 = 0.2.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

  1. Käytä arange()-funktiota luodaksesi even_numbers-taulukon.
  2. Määritä argumentit siten, että taulukkoon tulee parilliset luvut väliltä 221 (21 ei mukana).
  3. Käytä sopivaa funktiota samples-taulukon luomiseen, jolloin voit määrittää arvovälille halutun määrän arvoja.
  4. Määritä kolme ensimmäistä argumenttia, jotta saat taulukon, jossa on 10 tasavälistä lukua väliltä 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
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt