python dataframe转置_python pandas DataFrame.transpose用法及代码示例

转置索引和列。

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

参数:

*args:tuple, 可选参数接受与NumPy的兼容性。

copy:bool, 默认为 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

你可能感兴趣的:(python,dataframe转置)