Pandas DataFrame DataFrame.transpose() Función

  1. La sintaxis de pandas.DataFrame.transpose()
  2. Códigos de ejemplo: DataFrame.transpose()
  3. Códigos de ejemplo: DataFrame.transpose() para transponer DataFrame con tipos de datos homogéneos
  4. Códigos de ejemplo: DataFrame.transpose() para transponer DataFrame con tipos de datos mezclados
Pandas DataFrame DataFrame.transpose() Función

La función Pandas Python DataFrame.transpose() cambia las filas del DataFrame a las columnas, y las columnas a las filas. En otras palabras, genera un nuevo DataFrame que es la transposición del DataFrame original.

ADVERTISEMENT

La sintaxis de pandas.DataFrame.transpose()

Python
 pythonCopyDataFrame.transpose(*args, copy=False)

Parámetros

*args Estos son los argumentos adicionales de palabras clave para la compatibilidad con NumPy.
copy Es un valor booleano. Decide si los valores del DataFrame se copiarán o no después de tomar la transposición. Por defecto, su valor es False.

Retorna

Devuelve un DataFrame transpuesto. Las filas del DataFrame original son columnas en el DataFrame devuelto y viceversa.

Códigos de ejemplo: DataFrame.transpose()

Implementaremos esta función en los próximos códigos.

Python
 pythonCopyimport 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)

El ejemplo DataFrame es,

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

Todos los parámetros de esta función son opcionales. Si ejecutamos esta función sin pasar ningún parámetro, entonces produce la siguiente salida.

Python
 pythonCopyimport 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)

Producción:

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

Códigos de ejemplo: DataFrame.transpose() para transponer DataFrame con tipos de datos homogéneos

El comportamiento de esta función es diferente para los tipos de datos homogéneos y mixtos. Lo analizaremos uno por uno. Si tenemos un tipo homogéneo DataFrame, entonces los tipos de datos del original y los DataFrames transpuestos son los mismos.

El DataFrame con los tipos de datos homogéneos es como sigue

Python
 pythonCopyimport 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)

Nuestro DataFrame es,

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

Para conseguir la transposición de este DataFrame,

Python
 pythonCopyimport 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)

Producción:

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

Ahora, analicemos los tipos de datos del DataFrame original y del DataFrame devuelto.

Python
 pythonCopyimport 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)

Producción:

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

Note que los tipos de datos del DataFrame original y el transpuesto son los mismos.

Códigos de ejemplo: DataFrame.transpose() para transponer DataFrame con tipos de datos mezclados

Si tenemos un tipo mixto de DataFrame, entonces los tipos de datos del original y los DataFrames transpuestos son diferentes. El DataFrame transpuesto tiene tipos de datos de objeto. El DataFrame con los tipos de datos mezclados es como sigue

Python
 pythonCopyimport 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)

Nuestro DataFrame es,

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

Para conseguir la transposición de este DataFrame,

Python
 pythonCopyimport 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)

Producción:

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

Ahora, analicemos los tipos de datos del DataFrame original y del DataFrame devuelto.

Python
 pythonCopyimport 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)

Producción:

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

Note que los tipos de datos del DataFrame transpuesto son del tipo de datos del object.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete

Artículo relacionado - Pandas DataFrame