#🔒 One scipy function or two numpy functions

7 messages · Page 1 of 1 (latest)

stone dew
#

Hey guys! I have a doubt, in my code I am importing Scipy only to use cumulative_trapezoid. I could do this using only Numpy with cumsum and trapz (since I already import numpy for other functions). Which option is most recommended? Which is probably faster?

vale citrusBOT
#

@stone dew

Python help channel opened

Remember to:

  • Ask your Python question, not if you can ask or if there's an expert who can help.
  • Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
  • Explain what you expect to happen and what actually happens.

:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.

plush hinge
# stone dew Hey guys! I have a doubt, in my code I am importing Scipy only to use cumulative...

looks like that operation in scipy is entirely implemented via numpy, so it shouldn't make much of a difference (if any at all) besides the first import time
if you are already importing scipy in other files, it should be cached during that python execution and not take any time to import the second time onwards though

you could even just copy/paste that specific function into your file instead

google "Scipy cumulative_trapezoid" -> find docs -> "source" button:

https://github.com/scipy/scipy/blob/v1.14.1/scipy/integrate/_quadrature.py#L395-L495

GitHub

SciPy library main repository. Contribute to scipy/scipy development by creating an account on GitHub.

#

if their implementation is more efficient than whatever you were planning, their version may be faster though :p

tepid parrot
#

Personally, and naively, I'd go with the scipy one. They should have thought about efficient use of the numpy functions, assuming there's much or any choice about how to use it.

vale citrusBOT
#
Python help channel closed

This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.