Fonction Pandas DataFrame DataFrame.transpose()

  1. Syntaxe de pandas.DataFrame.transpose()
  2. Exemples de codes : DataFrame.transpose()
  3. Exemples de codes : DataFrame.transpose() pour transposer des DataFrame avec des types de données homogènes
  4. Exemples de codes : DataFrame.transpose() pour transposer un DataFrame avec des types de données mixtes

La fonction Python Pandas DataFrame.transpose() change les lignes de la DataFrame en colonnes, et les colonnes en lignes. En d’autres termes, elle génère un nouveau DataFrame qui est la transposition du DataFrame d’origine.

Syntaxe de pandas.DataFrame.transpose()

DataFrame.transpose(*args,
                    copy= False) 

Paramètres

*args Ce sont les arguments supplémentaires de mots-clés pour la compatibilité avec numpy.
copy Il s’agit d’une valeur booléenne. Elle décide si les valeurs de la DataFrame seront copiées ou non après avoir pris la transposition. Par défaut, sa valeur est False.

Renvoie

Il renvoie une DataFrame transposée. Les lignes de la DataFrame originale sont des colonnes dans la DataFrame retournée et vice versa.

Exemples de codes : DataFrame.transpose()

Nous mettrons en œuvre cette fonction dans les prochains codes.

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’exemple DataFrame est,

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

Tous les paramètres de cette fonction sont facultatifs. Si nous exécutons cette fonction sans passer aucun paramètre, elle produit la sortie suivante.

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)

Production:

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

Exemples de codes : DataFrame.transpose() pour transposer des DataFrame avec des types de données homogènes

Le comportement de cette fonction est différent pour les types de données homogènes et mixtes. Nous allons l’analyser une par une. Si nous avons un type homogène DataFrame, alors les types de données de l’original et des DataFrames transposées sont les mêmes.

La DataFrame avec les types de données homogènes est la suivante

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)

Notre DataFrame est,

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

Pour obtenir la transposition de ce 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)

Production:

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

Maintenant, analysons les types de données de la DataFrame originale et de la DataFrame retournée.

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)

Production:

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

Notez que les types de données des DataFrames originales et transposées sont les mêmes.

Exemples de codes : DataFrame.transpose() pour transposer un DataFrame avec des types de données mixtes

Si nous avons un type mixte DataFrame, alors les types de données de l’original et des DataFrames transposées sont différents. La DataFrame transposée a des types de données objets. La DataFrame avec les types de données mixtes est la suivante

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)

Notre DataFrame est,

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

Pour obtenir la transposition de ce 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)

Production:

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

Maintenant, analysons les types de données de la DataFrame originale et de la DataFrame retournée.

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)

Production:

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

Notez que les types de données de la DataFrame transposée sont du type de données object.

Article connexe - Pandas DataFrame

  • Pandas DataFrame DataFrame.plot.hist() Fonction
  • Pandas DataFrame DataFrame.reindex() Fonction