▷ numpy.arange(), linspace(): Erzeugen von ndarray mit gleichmäßig verteilten Werten | PythonSeminar (2024)

numpy.arange() und numpy.linspace() erzeugen numpy.ndarray mit gleichmäßig verteilten Werten.

Der Unterschied besteht darin, dass bei np.arange() das Intervall und bei np.linspace() sterben Anzahl der Elemente angegeben WIRD.

Dieser Artikel enthält Folgendes:

  • Geben Sie das Intervall an:numpy.arange()
  • Geben Sie die Anzahl der Elemente an:numpy.linspace()
    • Grundlegende Verwendung
    • Stopp einschließen oder nicht:endpoint
    • Holen Sie sich das Intervall:retstep
  • In umgekehrter Reihenfolge umwandeln
  • In ein mehrdimensionales Array konvertieren

Geben Sie das Intervall an:numpy.arange()

numpy.arange() ähnelt Pythons eingebauter Funktion range(). Siehe den following Artikel für range().

numpy.arange() generiert numpy.ndarray mit gleichmäßig verteilten Werten wie folgt gemäß der Anzahl der angegebenen Argumente.

  • numpy.arrange(stop)
  • numpy.arange(start, stop)
  • numpy.arange(Start, Stopp, Schritt)
    • start <= n < stop (schrittweise steigend)
import numpy as npprint(np.arange(3))# [0 1 2]print(np.arange(3, 10))# [3 4 5 6 7 8 9]print(np.arange(3, 10, 2))# [3 5 7 9]

Im Gegensatz zu range() can SIE float als Argument für numpy.arange() angeben.

print(np.arange(0.3, 1.0, 0.2))# [0.3 0.5 0.7 0.9]

Das Verhalten bei negativen Werten entspricht dem von range(). Wenn kein entsprechender Wert vorhanden ist, wird ein leeres numpy.ndarray generiert.

print(np.arange(-3, 3))# [-3 -2 -1 0 1 2]print(np.arange(10, 3))# []print(np.arange(10, 3, -2))# [10 8 6 4]

Der Datentyp dtype WIRD automatisch ausgewählt, kann aber mit dem Argument dtype angegeben werden.

print(np.arange(3, dtype=float))# [0. 1. 2.]print(np.arange(3, 10, dtype=float))# [3. 4. 5. 6. 7. 8. 9.]print(np.arange(3, 10, 2, dtype=float))# [3. 5. 7. 9.]

Weitere Informationen zum Datentyp dtype in NumPy finden Sie im following Artikel.

Geben Sie die Anzahl der Elemente an:numpy.linspace()

Grundlegende Verwendung

Mit numpy.linspace() can SIE anstelle des Intervalls sterben Anzahl der Elemente angeben.

Geben Sie den Startwert im ersten Argument start, den Endwert im zweiten Argument stop und die Anzahl der Elemente im dritten Argument num an. Das Intervall WIRD anhand dieser Werte automatisch berechnet.

import numpy as npprint(np.linspace(0, 10, 3))# [ 0. 5. 10.]print(np.linspace(0, 10, 4))# [ 0. 3.33333333 6.66666667 10. ]print(np.linspace(0, 10, 5))# [ 0. 2.5 5. 7.5 10. ]

Es behandelt auch den Fall von Start > Stopp richtig.

print(np.linspace(10, 0, 5))# [10. 7.5 5. 2.5 0. ]

Der Datentyp dtype WIRD automatisch ausgewählt, kann aber mit dem Argument dtype angegeben werden.

print(np.linspace(0, 10, 3, dtype=int))# [ 0 5 10]

Stopp einschließen oder nicht:endpoint

Standardmäßig ist der Wert von stop im Ergebnis enthalten.

If das Argument endpoint auf False gesetzt ist, enthält das Ergebnis nicht stop.

print(np.linspace(0, 10, 5))# [ 0. 2.5 5. 7.5 10. ]print(np.linspace(0, 10, 5, endpoint=False))# [0. 2. 4. 6. 8.]

Die Beziehung zwischen dem Endpunkt des Arguments und dem Intervallschritt ist wie folgt.

  • endpoint=True (Standard)
    • step = (stop – start) / (num – 1)
  • Endpunkt=Falsch
    • step = (stop – start) / num

Holen Sie sich das Intervall:retstep

Wenn Sie das Intervall erhalten möchten, setzen Sie das Argument retstep auf True.

In diesem Fall gibt es numpy.linspace() ein Tupel mit zwei Elementen zurück (numpy.ndarray, step).

result = np.linspace(0, 10, 5, retstep=True)print(result)# (array([ 0. , 2.5, 5. , 7.5, 10. ]), 2.5)print(type(result))# <class 'tuple'>print(result[0])# [ 0. 2.5 5. 7.5 10. ]print(result[1])# 2.5

Wenn Sie nur den Schritt überprüfen möchten, holen Sie sich das zweite Element mit dem Index.

print(np.linspace(0, 10, 5, retstep=True)[1])# 2.5print(np.linspace(0, 10, 5, retstep=True, endpoint=False)[1])# 2.0

In umgekehrter Reihenfolge umwandeln

Mit numpy.arange() can SIE ein Array in umgekehrter Reihenfolge erhalten, wenn Sie die Argumente richtig angeben, aber das ist problematisch.

print(np.arange(3, 10, 2))# [3 5 7 9]print(np.arange(9, 2, -2))# [9 7 5 3]

Es ist einfach, Slice [::-1] oder numpy.flip() zu verwenden.

print(np.arange(3, 10, 2)[::-1])# [9 7 5 3]print(np.flip(np.arange(3, 10, 2)))# [9 7 5 3]

Im Fall von numpy.linspace() can SIE die Reihenfolge einfach umkehren, indem Sie das erste Argument start und das zweite Argument stop ersetzen. Das Ergebnis ist dasselbe mit Slice [::-1] und numpy.flip().

print(np.linspace(0, 10, 5))# [ 0. 2.5 5. 7.5 10. ]print(np.linspace(10, 0, 5))# [10. 7.5 5. 2.5 0. ]print(np.linspace(0, 10, 5)[::-1])# [10. 7.5 5. 2.5 0. ]print(np.flip(np.linspace(0, 10, 5)))# [10. 7.5 5. 2.5 0. ]

In ein mehrdimensionales Array konvertieren

Weder numpy.arange() noch numpy.linspace() haben Argumente, um die Form anzugeben. Verwenden Sie reshape(), um in ein mehrdimensionales Array zu konvertieren.

print(np.arange(12).reshape(3, 4))# [[ 0 1 2 3]# [ 4 5 6 7]# [ 8 9 10 11]]print(np.arange(24).reshape(2, 3, 4))# [[[ 0 1 2 3]# [ 4 5 6 7]# [ 8 9 10 11]]# # [[12 13 14 15]# [16 17 18 19]# [20 21 22 23]]]
print(np.linspace(0, 10, 12).reshape(3, 4))# [[ 0. 0.90909091 1.81818182 2.72727273]# [ 3.63636364 4.54545455 5.45454545 6.36363636]# [ 7.27272727 8.18181818 9.09090909 10. ]]print(np.linspace(0, 10, 24).reshape(2, 3, 4))# [[[ 0. 0.43478261 0.86956522 1.30434783]# [ 1.73913043 2.17391304 2.60869565 3.04347826]# [ 3.47826087 3.91304348 4.34782609 4.7826087 ]]# # [[ 5.2173913 5.65217391 6.08695652 6.52173913]# [ 6.95652174 7.39130435 7.82608696 8.26086957]# [ 8.69565217 9.13043478 9.56521739 10. ]]]
▷ numpy.arange(), linspace(): Erzeugen von ndarray mit gleichmäßig verteilten Werten | PythonSeminar (2024)

References

Top Articles
Aldi Sign In Careers
Ff14 Scholasticate Quests
Huggies Size 4 Walgreens
Raleigh Craigs List
Toro Dingo For Sale Craigslist
Www.myschedule.kp.org
Understanding British Money: What's a Quid? A Shilling?
Inmate Inquiry Mendocino
Craigslist Pets Longview Tx
Craigs List High Rockies
Top Scorers Transfermarkt
Bowling Pro Shop Crofton Md
Ravens 24X7 Forum
Barefoot Rentals Key Largo
Black Adam Showtimes Near Kerasotes Showplace 14
Jailbase Milwaukee
Shoulder Ride Deviantart
Itawamba Ixl
Ethiopia’s PM pledges victory in video from front line
Zees Soles
Craigslist Ludington Michigan
Lexington Park Craigslist
Inspire Brands.csod.com Arby's
Fk Jones Obituary
P1 Offshore Schedule
Ip Address Issue Nad 3303
Fajr Azan Time Today
Seanna: meaning, origin, and significance explained
Sissy Hypno Gif
Twitter claims there’s “no evidence” 200 million leaked usernames and email addresses came from an exploit of its systems
Junior&#039;s Barber Shop &amp; Co &#8212; Jupiter
Usc Human Biology
Mychart Login Wake Forest
Erj Phone Number
Карта слов и выражений английского языка
Lvc Final Exam Schedule
Gran Turismo Showtimes Near Epic Theatres Of Ocala
Baldurs Gate 3 Igg
9294027542
Central Valley growers, undocumented farmworkers condemn Trump's 'emergency'
Guide for The Big Con
Chevalier Showtimes Near Island 16 Cinema De Lux
Rte Packaging Marugame
Kagtwt
Boostmaster Lin Yupoo
C Spire Express Pay
Johnnie Robinson Auto Sales
304-733-7788
Love In Orbit Manga Buddy
Perolamartinezts
Ticketmaster Lion King Chicago
Penn Highlands Mon Valley | Penn Highlands Healthcare
Latest Posts
Article information

Author: Ray Christiansen

Last Updated:

Views: 5552

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Ray Christiansen

Birthday: 1998-05-04

Address: Apt. 814 34339 Sauer Islands, Hirtheville, GA 02446-8771

Phone: +337636892828

Job: Lead Hospitality Designer

Hobby: Urban exploration, Tai chi, Lockpicking, Fashion, Gunsmithing, Pottery, Geocaching

Introduction: My name is Ray Christiansen, I am a fair, good, cute, gentle, vast, glamorous, excited person who loves writing and wants to share my knowledge and understanding with you.