BUG: Index.union cannot handle array-likes by sinhrks · Pull Request #10157 · pandas-dev/pandas (original) (raw)

Let me update TimedeltaIndex behavior here (because simple than I initially thought). On current master, DatetimeIndex.union performs additional check and it causes an error. Removed this check in and made it consistent with others in this PR.

idx1 = pd.timedelta_range('1 day', freq='D', periods=5)
idx2 = pd.timedelta_range('3 day', freq='D', periods=5)

idx1.intersection(idx2.asobject.tolist())
# TimedeltaIndex(['3 days', '4 days', '5 days'], dtype='timedelta64[ns]', freq=None)

idx1.union(idx2.asobject.tolist())
# AttributeError: 'list' object has no attribute 'inferred_type'

idx1.difference(idx2.asobject.tolist())
# TimedeltaIndex(['1 days', '2 days'], dtype='timedelta64[ns]', freq=None)

idx1.sym_diff(idx2.asobject.tolist())
# TimedeltaIndex(['1 days', '2 days', '6 days', '7 days'], dtype='timedelta64[ns]', freq=None)