Skip to content

feat(series): arithmetic sub #1312

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

cmp0xff
Copy link
Contributor

@cmp0xff cmp0xff commented Aug 8, 2025

This is inspired by #1274 and a follow-up for #1275.

  • Tests added: Please use assert_type() to assert the type of any return value

(I thought cmp0xff#1 would automatically redirect to pandas-dev/pandas-stubs, which did not happen)

@cmp0xff cmp0xff force-pushed the feature/cmp0xff/arithmetic-sub branch from 1bcf162 to c9c46b0 Compare August 8, 2025 16:11
Copy link
Collaborator

@Dr-Irv Dr-Irv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In #1311 you added support for bool in addition, so don't you want to include the bool tests for subtraction as well?

It's really nice that the pattern on these operators is similar so it seems pretty straightforward to get them working.

@@ -819,7 +819,7 @@ def test_types_element_wise_arithmetic() -> None:
check(assert_type(s.add(s2, fill_value=0), "pd.Series[int]"), pd.Series, np.integer)

# TODO this one below should type pd.Series[int]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can remove this comment now

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cmp0xff
Copy link
Contributor Author

cmp0xff commented Aug 8, 2025

In #1311 you added support for bool in addition, so don't you want to include the bool tests for subtraction as well?

bools can be added but not subtracted.

pd.Series([True]) - pd.Series([True])  # TypeError: numpy boolean subtract, the `-` operator, is not supported, use the bitwise_xor, the `^` operator, or the logical_xor function instead.

@cmp0xff cmp0xff requested a review from Dr-Irv August 8, 2025 16:46
@Dr-Irv
Copy link
Collaborator

Dr-Irv commented Aug 8, 2025

In #1311 you added support for bool in addition, so don't you want to include the bool tests for subtraction as well?

bools can be added but not subtracted.

pd.Series([True]) - pd.Series([True])  # TypeError: numpy boolean subtract, the `-` operator, is not supported, use the bitwise_xor, the `^` operator, or the logical_xor function instead.

But they can be subtracted from non-bools:

pd.Series([3,4,5])-pd.Series([True, False, True])
0    2
1    4
2    4
dtype: int64

So I would think you would want to add those to the tests.


def test_sub_py_scalar() -> None:
"""Test pd.Series[complex] - Python native scalars"""
i, f, c = 1, 1.0, 1j
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you could do:

Suggested change
i, f, c = 1, 1.0, 1j
b, i, f, c = True, 1, 1.0, 1j

And then add the tests on b here, and similar in the other funcs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants