pandas.DataFrame.transpose — pandas 0.24.0rc1 documentation (original) (raw)
DataFrame.
transpose
(*args, **kwargs)[source]¶
Transpose index and columns.
Reflect the DataFrame over its main diagonal by writing rows as columns and vice-versa. The property T is an accessor to the methodtranspose().
Parameters: | copy : bool, default False If True, the underlying data is copied. Otherwise (default), no copy is made if possible. *args, **kwargs Additional keywords have no effect but might be accepted for compatibility with numpy. |
---|---|
Returns: | DataFrame The transposed DataFrame. |
Notes
Transposing a DataFrame with mixed dtypes will result in a homogeneous DataFrame with the object dtype. In such a case, a copy of the data is always made.
Examples
Square DataFrame with homogeneous dtype
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
When the dtype is homogeneous in the original DataFrame, we get a transposed DataFrame with the same dtype:
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 employed False True kids 0 0
When the DataFrame has mixed dtypes, we get a transposed DataFrame with the object dtype:
df2.dtypes name object score float64 employed bool kids int64 dtype: object df2_transposed.dtypes 0 object 1 object dtype: object