Python-datatyper for datavitenskap
int, float, complex, bool, str — hvordan presisjon og typevalg påvirker dataanalysen.
Python-datatyper for datavitenskap er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.
Tall i datavitenskap
Python har to grunnleggende numeriske typer: int (heltall med vilkårlig presisjon) og float (64-biters desimaltall etter IEEE 754). Ved å velge riktig type unngår du subtile datafeil.
int er nøyaktig og ubegrenset
Heltall i Python får aldri overflow. De kan bli så store som minnet tillater, noe som er nyttig for nøyaktige opptellinger og store fakulteter.
big = 2 ** 200
print(big)
print(type(big)) # <class 'int'>Presisjonsfellen for float
Flyttall kan ikke representere alle desimaltall nøyaktig. Den klassiske overraskelsen er at 0.1 + 0.2 ikke er nøyaktig lik 0.3.
print(0.1 + 0.2) # 0.30000000000000004
print(0.1 + 0.2 == 0.3) # FalseSammenligne flyttall på en trygg måte
Test aldri flyttall med ==. Bruk heller math.isclose med en toleranse.
import math
print(math.isclose(0.1 + 0.2, 0.3)) # TrueDecimal for penger
For valuta bør du bruke decimal.Decimal, som lagrer nøyaktige verdier i titallssystemet. Opprett alltid Decimal-verdier fra strenger, ikke flyttall, for å unngå å arve flyttallsfeil.
from decimal import Decimal
price = Decimal("0.10") + Decimal("0.20")
print(price) # 0.30bool er en underklasse av int
I Python er True lik 1, og False er lik 0. Dermed kan du summere boolske verdier for å telle treff.
mask = [True, False, True, True]
print(sum(mask)) # 3 matches
print(True + True) # 2Telle med boolske verdier
Denne oppførselen, der boolske verdier fungerer som heltall, finnes overalt i NumPy og pandas: Ved å summere en boolsk maske teller du hvor mange rader som oppfyller en betingelse.
ages = [12, 20, 35, 17, 40]
adults = sum(a >= 18 for a in ages)
print(adults) # 3Undersøke typen med type()
type(x) returnerer den nøyaktige klassen til en verdi. Det er nyttig når en kolonne uventet inneholder strenger i stedet for tall.
print(type(5)) # <class 'int'>
print(type(5.0)) # <class 'float'>
print(type("5")) # <class 'str'>Kontrollere typen med isinstance()
Foretrekk isinstance fremfor type == fordi den tar hensyn til arv. Merk at en boolsk verdi består en int-kontroll.
print(isinstance(5, int)) # True
print(isinstance(True, int)) # True (bool subclasses int)
print(isinstance(5.0, (int, float))) # TrueFallgruver ved typekonvertering
Blanding av typer fører til stille typekonvertering. Heltallsdivisjon med flyttall gir flyttall, mens sammenkobling av et tall og en streng utløser en TypeError. Rydd opp i datatypene tidlig.
print(5 / 2) # 2.5 (true division always float)
print(5 // 2) # 2 (floor division)
# "id-" + 5 # TypeError
print("id-" + str(5)) # id-5Flyttallsoverraskelser ved aggregering
Summen av mange flyttall samler opp små feil. For store datasett bør du foretrekke NumPy, som bruker parvis summering for å redusere avviket.
vals = [0.1] * 10
print(sum(vals)) # 0.9999999999999999
# NumPy: np.sum(vals) is more numerically stableHurtigsjekk
Test forståelsen din av Python-typer.
Oppsummering
Viktige numeriske fakta for dataarbeid:
inter nøyaktig og ubegrensetfloater tilnærmet; brukmath.isclose, ikke==Decimal("...")for pengerbooler en int:sum(mask)tellertype()viser klassen, mensisinstance()tar hensyn til arv- Vær oppmerksom på stille typekonvertering ved divisjon og sammenkobling
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 53
- Leksjoner
- 225
Ofte stilte spørsmål
Er leksjonen «Python-datatyper for datavitenskap» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Python-datatyper for datavitenskap», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.
Hva lærer jeg i «Python-datatyper for datavitenskap»?
int, float, complex, bool, str — hvordan presisjon og typevalg påvirker dataanalysen. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Lær AI med Python?
Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Python-datatyper for datavitenskap»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?
Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Virtuelle miljøer og pip
- Jupyter Notebooks for datavitenskap
- Python-datatyper for datavitenskap
- Arbeid med Python-REPL og IPython