Skip to content

BUG: transpose unnecessarily returning object #43337

Open
@rhshadrach

Description

@rhshadrach

Ref: https://github.com/pandas-dev/pandas/pull/43213/files#r699680952

Example:

df = pd.DataFrame({'a': [1], 'b': [2]})
print(df.T.dtypes)
df['b'] = df['b'].astype('Int64')
print(df.T.dtypes)

gives int64 for the first example, and object for the 2nd. However, the 2nd arguably would be better off as Int64.

The code from #43213 could be used in the transpose method, something akin to

from pandas.core.dtypes.cast import find_common_type

df = pd.DataFrame({'a': [1], 'b': [2]})
df['b'] = df['b'].astype('Int64')
common_type = find_common_type(df.dtypes.tolist())
print(df.T.astype(common_type, copy=False).dtypes)

Perhaps there are undesirable side-effects by doing this?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions