Funzione Pandas DataFrame DataFrame.transpose()

Minahil Noor 30 gennaio 2023
  1. Sintassi di pandas.DataFrame.transpose()
  2. Codici di esempio: DataFrame.transpose()
  3. Codici di esempio: DataFrame.transpose() per trasporre DataFrame con tipi di dati omogenei
  4. Codici di esempio: DataFrame.transpose() per trasporre DataFrame con tipi di dati misti
Funzione Pandas DataFrame DataFrame.transpose()

La funzione Python Pandas DataFrame.transpose() cambia le righe del DataFrame in colonne e le colonne in righe. In altre parole, genera un nuovo DataFrame che è la trasposizione dell’originale DataFrame.

Sintassi di pandas.DataFrame.transpose()

DataFrame.transpose(*args, copy=False)

Parametri

*args Questi sono gli argomenti della parola chiave aggiuntivi per la compatibilità con NumPy.
copy È un valore booleano. Decide se i valori del DataFrame verranno copiati o meno dopo aver eseguito la trasposizione. Per impostazione predefinita, il suo valore è False.

Ritorno

Restituisce un DataFrame trasposto. Le righe del DataFrame originale sono colonne nel DataFrame restituito e viceversa.

Codici di esempio: DataFrame.transpose()

Implementeremo questa funzione nei prossimi codici.

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

print(dataframe)

L’esempio DataFrame è,

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

Tutti i parametri di questa funzione sono opzionali. Se eseguiamo questa funzione senza passare alcun parametro, produce il seguente output.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.transpose()
print(dataframe1)

Produzione:

                     0     1      2    3      4
Attendance          60   100     80   78     95
Name            Olivia  John  Laura  Ben  Kevin
Obtained Marks      90    75     82   64     45

Codici di esempio: DataFrame.transpose() per trasporre DataFrame con tipi di dati omogenei

Il comportamento di questa funzione è diverso per i tipi di dati omogenei e misti. Lo analizzeremo uno per uno. Se abbiamo un tipo omogeneo DataFrame, i tipi di dati dell’originale e dei DataFrame trasposti sono gli stessi.

Il DataFrame con i tipi di dati omogenei è il seguente

import pandas as pd

dataframe = pd.DataFrame(
    {"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)

print(dataframe)

Il nostro DataFrame è,

    A   B
0   6  60
1  20  50
2  80   7
3  78  67
4  95  54
5  98  34

Per ottenere la trasposizione di questo DataFrame,

import pandas as pd

dataframe = pd.DataFrame(
    {"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)

dataframe1 = dataframe.transpose()
print(dataframe1)

Produzione:

    0   1   2   3   4
A   6  20  80  78  95
B  60  50   7  67  54

Ora, analizziamo i tipi di dati del DataFrame originale e del DataFrame restituito.

import pandas as pd

dataframe = pd.DataFrame(
    {"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)

dataframe1 = dataframe.transpose()

print(dataframe.dtypes)
print(dataframe1.dtypes)

Produzione:

A    int64
B    int64
dtype: object
0    int64
1    int64
2    int64
3    int64
4    int64
dtype: object

Notare che i tipi di dati dell’originale e dei DataFrame trasposti sono gli stessi.

Codici di esempio: DataFrame.transpose() per trasporre DataFrame con tipi di dati misti

Se abbiamo un DataFrame di tipo misto, i tipi di dati dell’originale e dei DataFrame trasposti sono diversi. Il DataFrame trasposto ha tipi di dati oggetto. Il DataFrame con i tipi di dati misti è il seguente

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

print(dataframe)

Il nostro DataFrame è,

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

Per ottenere la trasposizione di questo DataFrame,

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.transpose()
print(dataframe1)

Produzione:

                     0     1      2    3      4
Attendance          60   100     80   78     95
Name            Olivia  John  Laura  Ben  Kevin
Obtained Marks      90    75     82   64     45

Ora, analizziamo i tipi di dati del DataFrame originale e del DataFrame restituito.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.transpose()
print(dataframe.dtypes)
print(dataframe1.dtypes)

Produzione:

Attendance         int64
Name              object
Obtained Marks     int64
dtype: object
0    object
1    object
2    object
3    object
4    object
dtype: object

Notare che i tipi di dati del DataFrame trasposto sono del tipo di dati object.

Articolo correlato - Pandas DataFrame