开发手册 欢迎您!
软件开发者资料库

Python pandas.DataFrame.transpose函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.transpose方法的使用。

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

转置索引和列。

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

参数

*args :tuple, 可选

接受与NumPy的兼容性。

copy :bool, 默认为 False

是否在转置后复制数据,

即使对于具有单个dtypeDataFrame也是如此。

请注意,

对于混合dtypeDataFrame或具有任何扩展名类型的DataFrame

始终需要副本。

返回值

DataFrame

转置的DataFrame。

Notes

转换带有混合dtypesDataFrame将导致对象 dtype具有同构的DataFrame 。在这种情况下,始终会复制数据。

例子

具有齐次dtype的Square DataFrame

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

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

>>> df1.dtypescol1    int64col2    int64dtype: object>>> df1_transposed.dtypes0    int641    int64dtype: 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  kids0  Alice    9.5     False     01    Bob    8.0      True     0>>> df2_transposed = df2.T # or df2.transpose()>>> df2_transposed              0     1name      Alice   Bobscore       9.5     8employed  False  Truekids          0     0

当DataFrame具有混合的dtypes时,我们得到一个对象 dtype的转置DataFrame :

>>> df2.dtypesname         objectscore       float64employed       boolkids          int64dtype: object>>> df2_transposed.dtypes0    object1    objectdtype: object

文档pandas.DataFrame.transpose