Spec-Zone.ru › pandas 2

pandas.DataFrame.transpose

DataFrame.transpose(*args, copy=False)[source]

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

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

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

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

copy:bool, по умолчанию False

Необходимо ли копировать данные после транспонирования, даже для DataFrame с одним типом данных.

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

Примечание

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

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

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

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

См. также

numpy.transpose

Переставляют размерности заданного массива.

Примечания

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

Примеры

Квадратный DataFrame с однородным типом данных

>>> 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

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

>>> 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:

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

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.transpose.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API