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.