當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.transpose用法及代碼示例

用法:

DataFrame.transpose(*args, copy=False)

轉置索引和列。

通過將行寫為列,將DataFrame 反映在其主對角線上,反之亦然。屬性 T 是方法 transpose() 的訪問器。

參數

*args元組,可選

接受與 NumPy 的兼容性

copy布爾值,默認為 False

轉置後是否複製數據,即使對於具有單個 dtype 的 DataFrames 也是如此。

請注意,混合 dtype DataFrames 或具有任何擴展類型的 DataFrames 始終需要副本。

返回

DataFrame

轉置的DataFrame

注意

轉置具有混合 dtype 的 DataFrame 將產生具有 object dtype 的同質 DataFrame。在這種情況下,始終會製作數據的副本。

例子

Square 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

當原始 DataFrame 中的 dtype 是同質的時,我們會得到一個具有相同 dtype 的轉置 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 有混合 dtype 時,我們得到一個帶有 object dtype 的轉置 DataFrame:

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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.transpose。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。