DataFrame.transpose() / DataFrame.T
Метод transpose() (короткая форма — атрибут .T) меняет местами строки и столбцы DataFrame. Часто нужен при переходе между «широким» и «длинным» представлением данных или при подготовке матриц для линейной алгебры.
Сигнатура
DataFrame.transpose(*args, copy=False)
DataFrame.T # эквивалент
Параметры
copy— копировать ли данные. По умолчаниюFalse, что эффективнее по памяти, но изменения исходника могут затронуть результат.
Возвращаемое значение
Новый DataFrame, у которого строки и столбцы поменяны местами.
Примеры
Пример 1. Базовое транспонирование
import pandas as pd
df = pd.DataFrame({
"A0": [10, 20],
"A1": [30, 40],
"A2": [50, 60],
})
print(df.T)
0 1
A0 10 20
A1 30 40
A2 50 60
Пример 2. Двойное транспонирование — возврат к исходному
import pandas as pd
df = pd.DataFrame({"x": [1, 2], "y": [3, 4]})
print(df.T.T.equals(df))
True
Пример 3. Из строк → столбцов для удобства
import pandas as pd
# один датчик в строке
df = pd.DataFrame(
{"value": [23.5, 45.0, 1013]},
index=["temp", "hum", "pressure"],
)
print(df.T)
temp hum pressure
value 23.5 45.0 1013
Пример 4. Транспонирование Series
import pandas as pd
s = pd.Series([1, 2, 3])
# для Series .T возвращает сам Series
print(s.T)
0 1
1 2
2 3
dtype: int64
Пример 5. Смешанные типы данных
import pandas as pd
df = pd.DataFrame({"pin": ["A0", "A1"], "val": [512, 600]})
print(df.T)
0 1
pin A0 A1
val 512 600
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.