Skip to content

pandas: Ottenere il numero di righe, colonne, tutti gli elementi (dimensione) di DataFrame

Python

Questo articolo descrive come ottenere il numero di righe, colonne e il numero totale di elementi (dimensioni) di pandas.DataFrame e pandas.Series.

  • panda.DataFrame
    • Visualizza il numero di righe, colonne, ecc.:df.info()
    • Ottieni il numero di righe:len(df)
    • Ottieni il numero di colonne:len(df.columns)
    • Ottieni il numero di righe e colonne:df.shape
    • Ottieni il numero di elementi:df.size
    • Nota quando si specifica l’indice
  • panda.Serie
    • Ottieni il numero di elementi:len(s), s.size

Ad esempio, usa i dati sui sopravvissuti del Titanic. Può essere scaricato da Kaggle .

import pandas as pd

df = pd.read_csv('data/src/titanic_train.csv')

print(df.head())
#    PassengerId  Survived  Pclass  
# 0            1         0       3   
# 1            2         1       1   
# 2            3         1       3   
# 3            4         1       1   
# 4            5         0       3   
# 
#                                                 Name     Sex   Age  SibSp  
# 0                            Braund, Mr. Owen Harris    male  22.0      1   
# 1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   
# 2                             Heikkinen, Miss. Laina  female  26.0      0   
# 3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   
# 4                           Allen, Mr. William Henry    male  35.0      0   
# 
#    Parch            Ticket     Fare Cabin Embarked  
# 0      0         A/5 21171   7.2500   NaN        S  
# 1      0          PC 17599  71.2833   C85        C  
# 2      0  STON/O2. 3101282   7.9250   NaN        S  
# 3      0            113803  53.1000  C123        S  
# 4      0            373450   8.0500   NaN        S  

Ottieni il numero di righe, colonne, elementi di pandas.DataFrame

Visualizza il numero di righe, colonne, ecc.:df.info()

Il metodo info() di pandas.DataFrame può visualizzare informazioni come il numero di utilizzo righe e colonne, l’ totale della memoria, il tipo di dati di ciascuna colonna e il numero di elementi non NaN.

df.info()
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 891 entries, 0 to 890
# Data columns (total 12 columns):
# PassengerId    891 non-null int64
# Survived       891 non-null int64
# Pclass         891 non-null int64
# Name           891 non-null object
# Sex            891 non-null object
# Age            714 non-null float64
# SibSp          891 non-null int64
# Parch          891 non-null int64
# Ticket         891 non-null object
# Fare           891 non-null float64
# Cabin          204 non-null object
# Embarked       889 non-null object
# dtypes: float64(2), int64(5), object(5)
# memory usage: 83.6+ KB

Il risultato è un output standard e non può essere ottenuto come valore.

Ottieni il numero di righe:len(df)

Il numero di righe di pandas.DataFrame può essere ottenuto con la funzione integrata di Python len().

Nell’esempio, viene visualizzato utilizzando print(), ma len() fornisce un valore intero, quindi può essere assegnato a un’altra variabile o utilizzato per il calcolo.

Ottieni il numero di colonne:len(df.columns)

Il numero di colonne di pandas.DataFrame può essere ottenuto applicando len() all’attributo columns.

print(len(df.columns))
# 12

Ottieni il numero di righe e colonne:df.shape

L’attributo shape di pandas.DataFrame memorizza il numero di righe e colonne come una tupla (numero di righe, numero di colonne).

print(df.shape)
# (891, 12)

print(df.shape[0])
# 891

print(df.shape[1])
# 12

È anche possibile decomprimerli e archiviarli in variabili separate.

row, col = df.shape
print(row)
# 891

print(col)
# 12

Ottieni il numero di elementi:df.size

Il numero totale di elementi di pandas.DataFrame è memorizzato nell’attributo size. Questo è uguale a row_count * column_count.

print(df.size)
# 10692

print(df.shape[0] * df.shape[1])
# 10692

Nota quando si specifica l’indice

Quando una colonna di dati viene specificata come indice dal metodo set_index(), queste colonne vengono rimosse dal corpo dei dati (attributo valori), quindi non viene conteggiata come numero di colonne.

df_multiindex = df.set_index(['Sex', 'Pclass', 'Embarked', 'PassengerId'])

print(len(df_multiindex))
# 891

print(len(df_multiindex.columns))
# 8

print(df_multiindex.shape)
# (891, 8)

print(df_multiindex.size)
# 7128

Vedere il seguente articolo per set_index().

Ottieni il numero di elementi di pandas.Serie

Come esempio di pandas.Series, seleziona una riga da pandas.DataFrame.

s = df['PassengerId']
print(s.head())
# 0    1
# 1    2
# 2    3
# 3    4
# 4    5
# Name: PassengerId, dtype: int64

Ottieni il numero di elementi:len(s), s.size

Poiché pandas.Series è unidimensionale, puoi ottenere il numero totale di elementi (dimensione) con l’attributo len() o size.

Si noti che l’attributo shape è una tupla con un elemento.

print(len(s))
# 891

print(s.size)
# 891

print(s.shape)
# (891,)

Non esiste un metodo info() in pandas.Series.