-
-
Notifications
You must be signed in to change notification settings - Fork 141
added np.timedelta64 for series arithmatic methods #432
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 1 commit
acd9ac8
19a7df2
e06f583
fb9dc01
83aa4c0
9fc4c76
dda43a9
994c6db
c0ea3b0
2284670
9e03f29
258e32a
a5ed64d
fee79d6
fd59d02
31db112
f01d3c0
fc41d33
21992b8
cb26631
ca75099
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 |
---|---|---|
|
@@ -5,7 +5,6 @@ | |
from typing import ( | ||
TYPE_CHECKING, | ||
Any, | ||
NoReturn, | ||
Optional, | ||
Union, | ||
) | ||
|
@@ -15,7 +14,10 @@ | |
import pandas as pd | ||
from pandas.core.indexes.numeric import IntegerIndex | ||
import pytz | ||
from typing_extensions import assert_type | ||
from typing_extensions import ( | ||
Never, | ||
assert_type, | ||
) | ||
|
||
from pandas._libs import NaTType | ||
from pandas._libs.tslibs import BaseOffset | ||
|
@@ -1043,11 +1045,11 @@ def timedelta64_and_arithmatic_operator() -> None: | |
s2 = pd.Series(data=pd.date_range("1/1/2021", "2/1/2021")) | ||
s3 = s2 - s1 | ||
td = np.timedelta64(1, "M") | ||
assert_type((s1 - td), TimestampSeries) | ||
assert_type((s1 + td), TimestampSeries) | ||
assert_type((s1 * td), NoReturn) # pyright: ignore | ||
assert_type((s1 / td), NoReturn) # pyright: ignore | ||
assert_type((s3 - td), TimedeltaSeries) | ||
assert_type((s3 + td), TimedeltaSeries) | ||
assert_type((s3 * td), NoReturn) # pyright: ignore | ||
assert_type((s3 / td), pd.Series[float]) | ||
check(assert_type((s1 - td), TimestampSeries), TimestampSeries, pd.Timestamp) | ||
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.
All the tests should look like this. The type you will have to do something similar for Look elsewhere in the code to see examples 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. Should we also change thte left 3 tests because they cannot pass pytets 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. Good point. Move those 3 tests to the end and do if TYPE_CHECKING_INVALID_USAGE:
# test 1 here
# test 2 here
# test 3 here you import |
||
check(assert_type((s1 + td), TimestampSeries), TimestampSeries, pd.Timestamp) | ||
assert_type((s1 * td), Never) # pyright: ignore | ||
assert_type((s1 / td), Never) # pyright: ignore | ||
check(assert_type((s3 - td), TimedeltaSeries), TimedeltaSeries, pd.Timedelta) | ||
check(assert_type((s3 + td), TimedeltaSeries), TimedeltaSeries, pd.Timedelta) | ||
assert_type((s3 * td), Never) # pyright: ignore | ||
check(assert_type((s3 / td), pd.Series[float]), pd.Series[float], float) |
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.
You can't add a
Timestamp
to aTimestampSeries
. Make the return typeNever
here.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.
We have issue in line number 266 of
tests/time_funcs.py
if we change this, it's pyright issue.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.
On that line, change
# TODO both: ignore[operator]
to# pyright: ignore