Skip to content

BUG/API: Index/Series concat inconsistencies #13626

Closed
@sinhrks

Description

@sinhrks

xref #7795 #13221. Series/Index concat-like op which triggers object-coercion is not well tested. Followings are needed:

  • Refactor concat internal to make it consistent / stabled.
  • Add comprehensive tests to cover both Index/Series object-coercion cases

Code Sample, a copy-pastable example if possible

Found some problems below:

# NG. though it looks OK, the objects are python built-in (must be Timestamp and Timedelta)
s = pd.Series([pd.Timestamp('2011-01-01')]).append(pd.Series([pd.Timedelta('1 days')]))
s
#0    2011-01-01 00:00:00
#0         1 day, 0:00:00
# dtype: object

type(s.iloc[0]), type(s.iloc[-1])
# (datetime.datetime, datetime.timedelta)
# NG, the result must be object dtype contaions Timestamp and Timedelta
idx = pd.DatetimeIndex(['2011-01-01']).append(pd.TimedeltaIndex(['1 days']))
idx
# Index([2011-01-01 00:00:00, 86400000000000], dtype='object')

type(idx[0]), type(idx[-1])
# (pandas.tslib.Timestamp, int)

Expected Output

  • result must be object dtype containing Timestamp and Timedelta (not datetime and timedelta)

output of pd.show_versions()

0.18.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    API DesignBugDtype ConversionsUnexpected or buggy dtype conversionsReshapingConcat, Merge/Join, Stack/Unstack, Explode

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions