mars.dataframe.DataFrame.transpose#
- DataFrame.transpose()#
转换索引和列。
通过将行作为列并反之,沿其主对角线反射DataFrame。属性
T是对方法transpose()的访问器。另请参阅
numpy.transpose对给定数组的维度进行排列。
备注
转置一个具有混合数据类型的 DataFrame 将会得到一个具有 object 数据类型的均匀 DataFrame。
示例
具有同质数据类型的方形数据框
>>> import mars.dataframe as md >>> d1 = {'col1': [1, 2], 'col2': [3, 4]} >>> df1 = md.DataFrame(data=d1).execute() >>> df1 col1 col2 0 1 3 1 2 4
>>> df1_transposed = df1.T.execute() # or df1.transpose().execute() >>> df1_transposed 0 1 col1 1 2 col2 3 4
当原始数据框中的dtype是同质时,我们得到一个具有相同dtype的转置数据框:
>>> df1.dtypes col1 int64 col2 int64 dtype: object
>>> df1_transposed.dtypes 0 int64 1 int64 dtype: object
具有混合数据类型的非方形数据框
>>> d2 = {'name': ['Alice', 'Bob'], ... 'score': [9.5, 8], ... 'employed': [False, True], ... 'kids': [0, 0]} >>> df2 = md.DataFrame(data=d2).execute() >>> df2 name score employed kids 0 Alice 9.5 False 0 1 Bob 8.0 True 0
>>> df2_transposed = df2.T.execute() # or df2.transpose().execute() >>> df2_transposed 0 1 name Alice Bob score 9.5 8.0 employed False True kids 0 0
当数据框具有混合数据类型时,我们得到一个转置的数据框,其 object 数据类型:
>>> df2.dtypes name object score float64 employed bool kids int64 dtype: object
>>> df2_transposed.dtypes 0 object 1 object dtype: object