-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
BugDatetimeDatetime data dtypeDatetime data dtypeIndexingRelated to indexing on series/frames, not to indexes themselvesRelated to indexing on series/frames, not to indexes themselves
Milestone
Description
Pandas 0.8.1:
import pandas as pd
import datetime as dt
index_1 = pd.DatetimeIndex([dt.datetime(2012,1,1,0), dt.datetime(2012,1,1,12),
dt.datetime(2012,1,2,0), dt.datetime(2012,1,2,12)])
index_2 = index_1 + pd.DateOffset(hours=1)
index_1 & index_2
correctly returns:
<class 'pandas.tseries.index.DatetimeIndex'>
Length: 0, Freq: None, Timezone: None
But when building the same Index objects by specifying their frequency:
index_1 = pd.date_range('1/1/2012', periods=4, freq='12H')
index_2 = index_1 + pd.DateOffset(hours=1)
index_1 & index_2
unexpectedly results in:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-01-01 12:00:00, ..., 2012-01-02 12:00:00]
Length: 3, Freq: 12H, Timezone: None
The same issue occurs when directly calling the intersection() method and similar unexpected results occur for union (|, +) and diff (-) operators.
For information, combining append() and order() methods as an alternative for the union operators does give the correct result, independently how index_1 and index_2 are built:
index_1 = pd.date_range('1/1/2012', periods=4, freq='12H')
index_2 = index_1 + pd.DateOffset(hours=1)
index_1.append(index_2).order()
correctly results in:
[2012-01-01 00:00:00, ..., 2012-01-02 13:00:00]
Length: 8, Freq: None, Timezone: None
Metadata
Metadata
Assignees
Labels
BugDatetimeDatetime data dtypeDatetime data dtypeIndexingRelated to indexing on series/frames, not to indexes themselvesRelated to indexing on series/frames, not to indexes themselves