pandas.DataFrame.transpose#
- DataFrame.transpose(*args, copy=False)[源代码]#
转置索引和列。
通过将行写为列来在其主对角线上反映DataFrame,反之亦然。该物业
T
是该方法的访问器transpose()
。- 参数
- *args元组,可选
接受与NumPy兼容。
- copy布尔值,默认为False
是否在转置后复制数据,即使对于具有单一数据类型的DataFrame也是如此。
请注意,混合数据类型DataFrame或具有任何扩展类型的DataFrame总是需要副本。
- 退货
- DataFrame
转置后的DataFrame。
参见
numpy.transpose
对给定数组的维度进行置换。
注意事项
调换具有混合数据类型的DataFrame将产生具有 object 数据类型。在这种情况下,总是创建数据的副本。
示例
具有同构数据类型的正方形数据帧
>>> 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
Non-square DataFrame with mixed dtypes
>>> 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具有混合数据类型时,我们会得到一个带有 object 数据类型:
>>> df2.dtypes name object score float64 employed bool kids int64 dtype: object >>> df2_transposed.dtypes 0 object 1 object dtype: object