dtypes / select_dtypes() în pandas

dtypes arată tipul fiecărei coloane; select_dtypes păstrează doar coloanele de anumite tipuri (numere, text, date).

Sintaxă
df.dtypes
df.select_dtypes(include=None, exclude=None)

Ce face dtypes / select_dtypes()

Fiecare coloană are un tip: int64 (numere întregi), float64 (numere cu zecimale, inclusiv coloanele numerice cu valori lipsă), bool, datetime64 (date calendaristice) sau str (text, tipul implicit pentru text în pandas 3). df.dtypes returnează un Series cu tipul fiecărei coloane.

select_dtypes returnează doar coloanele de tipurile cerute. include="number" păstrează toate coloanele numerice (întregi și zecimale), iar exclude="number" pe toate celelalte. E util când vrei să calculezi ceva doar pe coloanele numerice.

Parametri

Parametru Descriere
include Tipurile păstrate: "number", "int64", "float64", "str", "bool", "datetime" sau o listă.
exclude Tipurile lăsate deoparte. Cel puțin unul dintre include și exclude trebuie dat.

Ce returnează

dtypes: un Series cu tipurile. select_dtypes: un DataFrame cu coloanele alese.

Exemple

Exemplul 1: Tipul fiecărei coloane

import pandas as pd

df = pd.DataFrame({
    "nume": ["Ana", "Mihai", "Ioana"],
    "vârstă": [17, 16, 17],
    "medie": [9.45, 8.70, 9.90],
    "bursier": [True, False, True],
    "înscris": pd.to_datetime(["2024-09-15", "2025-09-15", "2024-09-15"]),
})
print(df.dtypes)

Rezultat

nume                  str
vârstă              int64
medie             float64
bursier              bool
înscris    datetime64[us]
dtype: object

Exemplul 2: Doar coloanele numerice sau doar celelalte

include="number" ia coloanele întregi și cu zecimale. Media pe coloane se calculează apoi fără erori de tip.

import pandas as pd

df = pd.DataFrame({
    "lună": ["ian", "feb", "mar"],
    "Iași": [1200, 1350, 1410],
    "Cluj": [1500.5, 1420.0, 1610.5],
})
numerice = df.select_dtypes(include="number")
print(numerice)
print(numerice.mean())
print(df.select_dtypes(exclude="number"))

Rezultat

   Iași    Cluj
0  1200  1500.5
1  1350  1420.0
2  1410  1610.5
Iași    1320.000000
Cluj    1510.333333
dtype: float64
  lună
0  ian
1  feb
2  mar

Exemplul 3: O coloană citită greșit ca text

O valoare lipsă scrisă în fișier face coloana preț de tip str. select_dtypes(include="str") o găsește, iar pd.to_numeric(..., errors="coerce") o transformă în numere.

import io
import pandas as pd

text = "produs,preț\npâine,4.5\nlapte,lipsă\ncafea,32\n"
df = pd.read_csv(io.StringIO(text))
print(list(df.select_dtypes(include="str").columns))

df["preț"] = pd.to_numeric(df["preț"], errors="coerce")
print(df.dtypes)

Rezultat

['produs', 'preț']
produs        str
preț      float64
dtype: object

Greșeli frecvente

  • Scrii df.dtypes() cu paranteze: dtypes este atribut. (df.dtypes e diferit de df["col"].dtype, la singular, pentru o singură coloană.)
  • Cauți coloanele de text cu include="object" din codul vechi. În pandas 3 textul are tipul str; folosește include="str".
  • Apelezi select_dtypes() fără include și fără exclude: primești ValueError.

Comenzi înrudite

  • DataFrame.info(): Afișează un rezumat al tabelului: numărul de rânduri, coloanele, câte valori completate are fiecare, tipurile și memoria.
  • DataFrame.astype() și pd.to_numeric(): Schimbă tipul unei coloane (int, float, category, str); pd.to_numeric transformă textul în numere și poate pune NaN la valorile greșite.
  • describe(): Calculează statistici rapide pe coloane: număr, medie, abatere standard, minim, cuartile, maxim; pentru text, valori unice și cea mai frecventă.
  • pd.to_datetime(): Transformă text sau numere în date calendaristice (datetime64), ca să poți calcula cu ele și să folosești accesorul .dt.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: dtypes / select_dtypes()

Ai o nelămurire despre utilizarea comenzii dtypes / select_dtypes() sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.