Oppikaa tekoälyä Pythonilla · Oppitunti

Pythonin tietotyypit datatieteessä

int, float, complex, bool, str – miten tarkkuus ja tyypin valinta vaikuttavat data-analyysiin.

Oppitunti 3/413 vaihetta

Pythonin tietotyypit datatieteessä on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.

Luvut data sciencessa

Pythonissa on kaksi keskeistä numeerista tyyppiä: int eli mielivaltaisen tarkkuuden kokonaisluvut ja float eli 64-bittiset IEEE 754 -liukuluvut. Oikean tyypin valitseminen ehkäisee hienovaraisia datavirheitä.

int on tarkka ja rajattoman kokoinen

Pythonin kokonaisluvut eivät koskaan aiheuta ylivuotoa. Ne kasvavat niin suuriksi kuin muisti sallii, mikä sopii erinomaisesti tarkkoihin lukumääriin ja suuriin kertomiin.

big = 2 ** 200
print(big)
print(type(big))   # <class 'int'>

floatin tarkkuuden sudenkuoppa

Liukuluvuilla ei voi esittää jokaista desimaalia täsmällisesti. Tunnettu yllätys on, että 0.1 + 0.2 ei ole täsmälleen 0.3.

print(0.1 + 0.2)          # 0.30000000000000004
print(0.1 + 0.2 == 0.3)   # False

Liukulukujen turvallinen vertailu

Älkää koskaan verratko liukulukuja operaattorilla ==. Käyttäkää sen sijaan funktiota math.isclose toleranssin kanssa.

import math
print(math.isclose(0.1 + 0.2, 0.3))  # True

Decimal rahasummille

Käyttäkää valuutoille tyyppiä decimal.Decimal, joka tallentaa kymmenjärjestelmän arvot täsmällisesti. Luokaa Decimal-arvot aina merkkijonoista, ei liukuluvuista, jotta ette siirrä niihin liukulukujen virheitä.

from decimal import Decimal
price = Decimal("0.10") + Decimal("0.20")
print(price)   # 0.30

bool on int:n aliluokka

Pythonissa True vastaa arvoa 1 ja False arvoa 0. Näin totuusarvoja voi summata osumien laskemiseksi.

mask = [True, False, True, True]
print(sum(mask))      # 3 matches
print(True + True)    # 2

Laskeminen totuusarvoilla

Tämä bool-arvojen toiminta kokonaislukuina näkyy kaikkialla NumPyssa ja pandasissa: totuusmaskin summa kertoo, kuinka moni rivi täyttää ehdon.

ages = [12, 20, 35, 17, 40]
adults = sum(a >= 18 for a in ages)
print(adults)   # 3

Tyypin tarkastaminen komennolla type()

type(x) palauttaa arvon täsmällisen luokan. Se on hyödyllinen, kun sarake sisältää odottamatta merkkijonoja lukujen sijaan.

print(type(5))      # <class 'int'>
print(type(5.0))    # <class 'float'>
print(type("5"))    # <class 'str'>

Tyypin tarkistaminen komennolla isinstance()

Suosikaa isinstance-funktiota ehdon type == sijaan, sillä se huomioi periytymisen. Huomioikaa, että bool läpäisee int-tarkistuksen.

print(isinstance(5, int))        # True
print(isinstance(True, int))     # True (bool subclasses int)
print(isinstance(5.0, (int, float)))  # True

Tyyppimuunnosten sudenkuopat

Tyyppejä yhdistettäessä tapahtuu hiljaisia tyyppimuunnoksia. Liukulukujen kokonaislukujako tuottaa liukulukuja, kun taas luvun yhdistäminen merkkijonoon aiheuttaa TypeError-virheen. Siistitkää datatyypit ajoissa.

print(5 / 2)        # 2.5  (true division always float)
print(5 // 2)       # 2    (floor division)
# "id-" + 5         # TypeError
print("id-" + str(5))  # id-5

Liukulukujen yllätykset aggregoinnissa

Monien liukulukujen summaaminen kerryttää pieniä virheitä. Suurissa aineistoissa suosikaa NumPyä, joka käyttää pareittaista summausta poikkeaman vähentämiseen.

vals = [0.1] * 10
print(sum(vals))    # 0.9999999999999999
# NumPy: np.sum(vals) is more numerically stable

Pikatarkistus

Testatkaa Pythonin tyyppejä koskeva ymmärryksenne.

Kertaus

Tärkeät numeeriset seikat datatyössä:

  • int on tarkka ja rajattoman kokoinen
  • float on likimääräinen; käyttäkää math.isclose-funktiota, älkää ==-operaattoria
  • Decimal("...") rahasummille
  • bool on int: sum(mask) laskee osumat
  • type() näyttää luokan ja isinstance() huomioi periytymisen
  • Varokaa hiljaisia tyyppimuunnoksia jaossa ja merkkijonojen yhdistämisessä
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
53
Oppitunnit
225

Usein kysytyt kysymykset

Onko oppitunti ”Pythonin tietotyypit datatieteessä” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Pythonin tietotyypit datatieteessä”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Pythonin tietotyypit datatieteessä”?

int, float, complex, bool, str – miten tarkkuus ja tyypin valinta vaikuttavat data-analyysiin. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Pythonin tietotyypit datatieteessä”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?

Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Virtuaaliympäristöt ja pip
  2. Jupyter Notebookit datatieteessä
  3. Pythonin tietotyypit datatieteessä
  4. Python REPL:n ja IPythonin käyttäminen
← Takaisin: Oppikaa tekoälyä Pythonilla