DataFrame.transpose(*args, copy=False) [source]
转置索引和列。
通过将行写为列将DataFrame反映在其主要对角线上,反之亦然。该属性T是方法的访问器 transpose()。
参数: | *args : 接受与 copy : 是否在转置后复制数据, 即使对于具有单个 请注意, 对于混合 始终需要副本。 |
返回值: | DataFrame 转置的DataFrame。 |
Notes
转换带有混合dtypes
的DataFrame
将导致对象 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