API · Pandas
Pandas DataFrame DataFrame.transpose() Função
A função Pandas DataFrame transpose() altera as linhas da DataFrame para as colunas e vice-versa.
Nesta página
Use DataFrame.transpose() para trocar as linhas e as colunas de um DataFrame do pandas. O DataFrame retornado usa os rótulos das linhas originais como rótulos das colunas e os rótulos das colunas originais como rótulos das linhas.
Sintaxe de DataFrame.transpose()
Chame o método no objeto que deseja transpor: df.transpose(). Ele retorna um DataFrame transposto; o objeto original continua disponível como df.
Este guia se concentra na chamada sem argumentos e não aborda opções específicas de versões.
Exemplo: transpor um DataFrame com DataFrame.transpose()
Este exemplo cria uma pequena tabela com nomes de estudantes, presença e notas. Após a chamada, cada coluna original se torna uma linha, e cada rótulo do índice original se torna uma coluna.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Obtained Marks": [90, 75, 82, 64, 45],
}
)
transposed = dataframe.transpose()
print(transposed)
Os rótulos facilitam a conferência do sentido da troca: Attendance, Name e Obtained Marks identificam as linhas do resultado, enquanto 0 a 4 identificam suas colunas.
Transpor um DataFrame com tipos de dados homogêneos
Quando todas as colunas contêm números inteiros, os valores de entrada têm o mesmo tipo. Faça a transposição e inspecione os tipos de dados das colunas antes e depois para ver como este exemplo é representado no seu ambiente pandas.
import pandas as pd
dataframe = pd.DataFrame(
{
"A": [6, 20, 80, 78, 95],
"B": [60, 50, 7, 67, 54],
}
)
transposed = dataframe.transpose()
print("Original values:")
print(dataframe)
print("Transposed values:")
print(transposed)
print("Original dtypes:")
print(dataframe.dtypes)
print("Transposed dtypes:")
print(transposed.dtypes)
Esta entrada tem cinco linhas, rotuladas de 0 a 4, e duas colunas, A e B. Portanto, o resultado tem duas linhas e cinco colunas. Confira as informações de dtype exibidas para esta entrada específica, em vez de presumir que todo DataFrame numérico terá o mesmo dtype após a transposição; o comportamento dos dtypes pode depender dos valores e da representação dos tipos em uso.
Transpor um DataFrame com tipos de dados mistos
Um DataFrame pode ter colunas de tipos diferentes. Neste exemplo, duas colunas contêm números e uma contém nomes. O código mostra os valores e os dtypes antes e depois da operação para que você possa inspecionar o resultado desta entrada.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Obtained Marks": [90, 75, 82, 64, 45],
}
)
transposed = dataframe.transpose()
print("Original values:")
print(dataframe)
print("Transposed values:")
print(transposed)
print("Original dtypes:")
print(dataframe.dtypes)
print("Transposed dtypes:")
print(transposed.dtypes)
Cada linha transposta combina valores que vieram de uma coluna original. Como essas linhas incluem tanto textos quanto números, inspecione os dtypes resultantes em vez de tratar o exemplo com tipos mistos como uma regra para todas as versões do pandas ou todos os sistemas de tipos. O método altera os eixos; ele não torna homogêneas as colunas de origem distintas antes da transposição.