Pandas DataFrame DataFrame.transpose() Función
-
La sintaxis de
pandas.DataFrame.transpose() -
Códigos de ejemplo:
DataFrame.transpose() -
Códigos de ejemplo:
DataFrame.transpose()para transponerDataFramecon tipos de datos homogéneos -
Códigos de ejemplo:
DataFrame.transpose()para transponerDataFramecon tipos de datos mezclados
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.
La sintaxis de pandas.DataFrame.transpose()
DataFrame.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.
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)
El ejemplo DataFrame es,
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.
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)
Producción:
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
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)
Nuestro DataFrame es,
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,
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)
Producción:
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.
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)
Producción:
A 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
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)
Nuestro DataFrame es,
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,
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)
Producción:
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.
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)
Producción:
Attendance 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.