-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
BUG: Change of behavior in casting of datetime-like types in MultiIndex #44081
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 7 commits
6423920
e04cf72
92c6be6
715b580
44075c1
57622f1
fb9591a
0576008
28fb638
92224e7
ccecca5
5f6d795
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 |
---|---|---|
@@ -1,3 +1,4 @@ | ||
import datetime as dt | ||
from datetime import datetime | ||
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. import 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. Done |
||
|
||
import numpy as np | ||
|
@@ -179,3 +180,23 @@ def test_reset_index_dtypes_on_empty_series_with_multiindex(array, dtype): | |
{"level_0": np.int64, "level_1": np.float64, "level_2": dtype, 0: object} | ||
) | ||
tm.assert_series_equal(result, expected) | ||
|
||
|
||
def test_set_index_MultiIndex(): | ||
df = DataFrame( | ||
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. since you're testing the DataFrame behavior, this probably goes in the tests/frame/methods file 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. Actually in this file, there are a lot of tests regarding setting of indexes, hence I have kept this file. |
||
{ | ||
"date": [dt.date(2021, 8, 1), dt.date(2021, 8, 2), dt.date(2021, 8, 3)], | ||
"ticker": ["aapl", "goog", "yhoo"], | ||
"value": [5.63269, 4.45609, 2.74843], | ||
} | ||
) | ||
|
||
df.set_index(["date", "ticker"], inplace=True) | ||
res = df.index.get_level_values(0) | ||
ex = pd.DatetimeIndex( | ||
["2021-08-01", "2021-08-02", "2021-08-03"], | ||
dtype="datetime64[ns]", | ||
name="date", | ||
freq=None, | ||
) | ||
tm.assert_index_equal(ex, res) |
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.
This implementation doesn't seem right.. What are you trying to do?
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.
I am trying to ensure the behavior of DatetimeIndex reverts to 1.2.5
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.
Since this seems to be a regression, please investigate what changed and caused the issue and try to restore the original behavior. Calling try except here should not be necessary
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.
I have removed the try except block