当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas DataFrame.T用法及代码示例


用法:

DataFrame.T

转置索引和列。

通过将行写为列将DataFrame反映在其主要对角线上,反之亦然。属性T是该方法的访问者transpose()

参数:

*argstuple, 可选参数

接受与NumPy的兼容性。

copybool, 默认为 False

是否在转置后复制数据,即使对于具有单个dtype的DataFrame也是如此。

请注意,对于混合dtype DataFrame或具有任何扩展名类型的DataFrame,始终需要副本。

返回值:

DataFrame

转置的DataFrame。

注意:

转换带有混合dtypes的DataFrame将导致具有objectdtype。在这种情况下,始终会复制数据。

例子:

具有齐次dtype的Square 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

当dtype在原始DataFrame中是同构的时,我们将获得具有相同dtype的转置DataFrame:

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

具有混合dtypes的非方形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
employed  False  True
kids          0     0

当DataFrame具有混合dtypes时,我们将得到一个转置后的DataFrame与objectdtype:

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

相关用法


注:本文由纯净天空筛选整理自 pandas.DataFrame.T。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。