Pandas DataFrame DataFrame.transpose() Função
-
Sintaxe de
pandas.DataFrame.transpose()
-
Códigos de exemplo:
DataFrame.transpose()
-
Códigos de exemplo:
DataFrame.transpose()
para TransporDataFrame
com tipos de dados homogéneos -
Códigos de exemplo:
DataFrame.transpose()
a TransporDataFrame
com tipos de dados mistos
A função Python Pandas DataFrame.transpose()
altera as linhas do DataFrame
para as colunas, e as colunas para as linhas. Por outras palavras, gera um novo DataFrame
que é a transposição do original DataFrame
.
Sintaxe de pandas.DataFrame.transpose()
DataFrame.transpose(*args, copy=False)
Parâmetros
*args |
Estes são os argumentos adicionais da palavra-chave para a compatibilidade com o NumPy . |
copy |
É um valor booleano. Decide se os valores do DataFrame serão copiados ou não após a transposição. Por defeito, o seu valor é False . |
Devolver
Devolve um DataFrame
transposto. As linhas do DataFrame
original são colunas no DataFrame
devolvido e vice-versa.
Códigos de exemplo: DataFrame.transpose()
Iremos implementar esta função nos 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)
O exemplo 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
Todos os parâmetros desta função são opcionais. Se executarmos esta função sem passarmos qualquer parâmetro, então ela produz o seguinte resultado.
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)
Resultado:
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 exemplo: DataFrame.transpose()
para Transpor DataFrame
com tipos de dados homogéneos
O comportamento desta função é diferente para tipos de dados homogéneos e mistos. Iremos analisá-lo um a um. Se tivermos um tipo homogéneo DataFrame
, então os tipos de dados do original e os Dataframes
transpostos são os mesmos.
O DataFrame
com os tipos de dados homogéneos é o seguinte
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)
O nosso DataFrame
é,
A B
0 6 60
1 20 50
2 80 7
3 78 67
4 95 54
5 98 34
Para obter a transposição deste 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)
Resultado:
0 1 2 3 4
A 6 20 80 78 95
B 60 50 7 67 54
Agora, vamos analisar os tipos de dados do DataFrame
original e do DataFrame
devolvido.
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)
Resultado:
A int64
B int64
dtype: object
0 int64
1 int64
2 int64
3 int64
4 int64
dtype: object
Note-se que os tipos de dados do DataFrame
original e do DataFrame
transposto são os mesmos.
Códigos de exemplo: DataFrame.transpose()
a Transpor DataFrame
com tipos de dados mistos
Se tivermos um tipo misto DataFrame
, então os tipos de dados do original e os Dataframes
transpostos são diferentes. O DataFrame
transposto tem tipos de dados de objectos. O DataFrame
com os tipos de dados mistos é o seguinte
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)
O nosso 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
Para obter a transposição deste 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)
Resultado:
0 1 2 3 4
Attendance 60 100 80 78 95
Name Olivia John Laura Ben Kevin
Obtained Marks 90 75 82 64 45
Agora, vamos analisar os tipos de dados do DataFrame
original e do DataFrame
devolvido.
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)
Resultado:
Attendance int64
Name object
Obtained Marks int64
dtype: object
0 object
1 object
2 object
3 object
4 object
dtype: object
Note que os tipos de dados do DataFrame
transposto são do tipo de dados object
.