pandas.DataFrame.transpose#

DataFrame.транспонирование(*args, copy=False)[источник]#

Транспонировать индексы и столбцы.

Отразить DataFrame относительно его главной диагонали, записывая строки как столбцы и наоборот. Свойство T является аксессором к методу transpose().

Параметры:
*argsкортеж, необязательный

Принято для совместимости с NumPy.

copybool, по умолчанию False

Копировать ли данные после транспонирования, даже для DataFrames с одним типом данных.

Обратите внимание, что копия всегда требуется для DataFrame со смешанными типами данных, или для DataFrame с любыми типами расширений.

Примечание

The copy ключевое слово изменит поведение в pandas 3.0. Копирование при записи будет включено по умолчанию, что означает, что все методы с copy ключевое слово будет использовать механизм ленивого копирования для отложенного копирования и игнорирования copy ключевое слово. The copy ключевое слово будет удалено в будущей версии pandas.

Вы уже можете получить будущее поведение и улучшения, включив copy on write pd.options.mode.copy_on_write = True

Возвращает:
DataFrame

Транспонированный DataFrame.

Смотрите также

numpy.transpose

Переставить размерности заданного массива.

Примечания

Транспонирование DataFrame со смешанными типами данных приведет к однородному DataFrame с object dtype. В таком случае всегда создается копия данных.

Примеры

Квадратный DataFrame с однородным dtype

>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}
>>> df1 = pd.DataFrame(data=d1)
>>> df1
   col1  col2
0     1     3
1     2     4
>>> df1_transposed = df1.T  # or df1.transpose()
>>> df1_transposed
      0  1
col1  1  2
col2  3  4

Когда dtype однороден в исходном DataFrame, мы получаем транспонированный DataFrame с тем же dtype:

>>> df1.dtypes
col1    int64
col2    int64
dtype: object
>>> df1_transposed.dtypes
0    int64
1    int64
dtype: object

Не квадратный DataFrame со смешанными типами данных

>>> d2 = {'name': ['Alice', 'Bob'],
...       'score': [9.5, 8],
...       'employed': [False, True],
...       'kids': [0, 0]}
>>> df2 = pd.DataFrame(data=d2)
>>> df2
    name  score  employed  kids
0  Alice    9.5     False     0
1    Bob    8.0      True     0
>>> df2_transposed = df2.T  # or df2.transpose()
>>> df2_transposed
              0     1
name      Alice   Bob
score       9.5   8.0
employed  False  True
kids          0     0

Когда DataFrame имеет смешанные типы данных, мы получаем транспонированный DataFrame с object dtype:

>>> df2.dtypes
name         object
score       float64
employed       bool
kids          int64
dtype: object
>>> df2_transposed.dtypes
0    object
1    object
dtype: object