Python-datatyper til data science
int, float, complex, bool, str — sådan påvirker præcision og typevalg dataanalysen.
Python-datatyper til data science er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Tal i datalogi
Python har to grundlæggende numeriske typer: int (heltal med vilkårlig præcision) og float (64-bit IEEE 754-decimaltal). Når du vælger den rigtige, undgår du subtile datafejl.
int er nøjagtig og uden øvre grænse
Python-heltal løber aldrig over. De kan vokse så meget, som hukommelsen tillader, hvilket er godt til nøjagtige optællinger og store fakulteter.
big = 2 ** 200
print(big)
print(type(big)) # <class 'int'>Præcisionsfaldgruber ved float
Float-værdier kan ikke repræsentere alle decimaltal nøjagtigt. Den klassiske overraskelse er, at 0.1 + 0.2 ikke er nøjagtigt 0.3.
print(0.1 + 0.2) # 0.30000000000000004
print(0.1 + 0.2 == 0.3) # FalseSikker sammenligning af float-værdier
Test aldrig float-værdier med ==. Brug i stedet math.isclose med en tolerance.
import math
print(math.isclose(0.1 + 0.2, 0.3)) # TrueDecimal til pengebeløb
Til valuta skal du bruge decimal.Decimal, som gemmer nøjagtige værdier i titalsystemet. Opret altid Decimal-værdier ud fra strenge, ikke float-værdier, så du undgår at overføre float-fejl.
from decimal import Decimal
price = Decimal("0.10") + Decimal("0.20")
print(price) # 0.30bool er en underklasse af int
I Python er True lig med 1, og False er lig med 0. Derfor kan du summere boolske værdier for at tælle træffere.
mask = [True, False, True, True]
print(sum(mask)) # 3 matches
print(True + True) # 2Optælling med boolske værdier
Denne opførsel, hvor bool fungerer som int, findes overalt i NumPy og pandas: Når du summerer en boolsk maske, tæller du, hvor mange rækker der opfylder en betingelse.
ages = [12, 20, 35, 17, 40]
adults = sum(a >= 18 for a in ages)
print(adults) # 3Undersøgelse af typen med type()
type(x) returnerer den nøjagtige klasse for en værdi. Det er nyttigt, når en kolonne uventet indeholder strenge i stedet for tal.
print(type(5)) # <class 'int'>
print(type(5.0)) # <class 'float'>
print(type("5")) # <class 'str'>Kontrol af typen med isinstance()
Foretræk isinstance frem for type ==, fordi det tager højde for nedarvning. Bemærk, at en boolsk værdi består et int-tjek.
print(isinstance(5, int)) # True
print(isinstance(True, int)) # True (bool subclasses int)
print(isinstance(5.0, (int, float))) # TrueFaldgruber ved typekonvertering
Blanding af typer medfører stiltiende konvertering. Heltalsdivision med float-værdier giver float-værdier, mens sammenkædning af et tal og en streng udløser en TypeError. Ryd tidligt op i dine datatyper.
print(5 / 2) # 2.5 (true division always float)
print(5 // 2) # 2 (floor division)
# "id-" + 5 # TypeError
print("id-" + str(5)) # id-5Float-overraskelser ved aggregering
Når du summerer mange float-værdier, ophobes små fejl. Til store datasæt bør du foretrække NumPy, som bruger parvis summering for at reducere afvigelsen.
vals = [0.1] * 10
print(sum(vals)) # 0.9999999999999999
# NumPy: np.sum(vals) is more numerically stableHurtig kontrol
Test dit kendskab til Python-typer.
Opsamling
Vigtige numeriske fakta i dataarbejde:
inter nøjagtig og uden øvre grænsefloater omtrentlig; brugmath.isclosei stedet for==Decimal("...")til pengebeløbbooler en int:sum(mask)tællertype()viser klassen, ogisinstance()tager højde for nedarvning- Vær opmærksom på stiltiende typekonvertering ved division og sammenkædning
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “Python-datatyper til data science” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Python-datatyper til data science”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Python-datatyper til data science”?
int, float, complex, bool, str — sådan påvirker præcision og typevalg dataanalysen. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Python-datatyper til data science”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Virtuelle miljøer og pip
- Jupyter Notebooks til data science
- Python-datatyper til data science
- Arbejde med Python REPL og IPython