-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Add test for GH 18523 and add _tz_compare() to compare timezone of DatetimeIndex #18596
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -443,6 +443,26 @@ def test_000constructor_resolution(self): | |
|
||
assert idx.nanosecond[0] == t1.nanosecond | ||
|
||
def test_concat(self): | ||
idx1 = pd.date_range('2011-01-01', periods=3, freq='H', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. pls add the issue number as a comment |
||
tz='Europe/Paris') | ||
idx2 = pd.date_range(start=idx1[0], end=idx1[-1], freq='H') | ||
df1 = pd.DataFrame({'a': [1, 2, 3]}, index=idx1) | ||
df2 = pd.DataFrame({'b': [1, 2, 3]}, index=idx2) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can you move this to |
||
res = pd.concat([df1, df2], axis=1) | ||
|
||
assert str(res.index.tzinfo) == str(df1.index.tzinfo) | ||
assert str(res.index.tzinfo) == str(df2.index.tzinfo) | ||
|
||
idx3 = pd.date_range('2011-01-01', periods=3, | ||
freq='H', tz='Asia/Tokyo') | ||
df3 = pd.DataFrame({'b': [1, 2, 3]}, index=idx3) | ||
res = pd.concat([df1, df3], axis=1) | ||
|
||
assert str(res.index.tzinfo) == 'UTC' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. instead of this, can you construct the expected frame directly and use |
||
assert str(res.index.tzinfo) != str(df1.index.tzinfo) | ||
assert str(res.index.tzinfo) != str(df3.index.tzinfo) | ||
|
||
|
||
class TestTimeSeries(object): | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you also add for all the other cases of
str(self.tz) != str(other)
(or variants on this)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other places where pandas uses variants for
str(self.tz) != str(other.tz)
isn't particularly for DatetimeIndex. For example intest_timezones.py
this is used to test the equality ofTimestamp
I guess we have to write a more general method which takes in any object with a .tz attribute and compare it. In that case which file should I put this method in?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the right place to put this is in
pandas/_libs/tslibs/timezones.pyx
and just call it from where needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI - I added an additional instance of this in a commit that went in earlier today. Current location on
master
:pandas/pandas/core/indexes/interval.py
Lines 242 to 243 in 288bf6e