Python Forum
What is the mechanism of numpy function returning pandas object?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What is the mechanism of numpy function returning pandas object?
#1
Numpy's isnan() can generate the result as Series class of pandas, although numpy does not have dependency on pandas and Numpy's API reference does not explain this as below. Could anyone please tell me the mechanism of this? Unfortunately, I could not find isnan()'s definition in Numpy's source codes.

isnan()'s API Reference Wrote:Returns: y : ndarray or bool
True where x is NaN, false otherwise. This is a scalar if x is a scalar.

Example
s = pd.Series([0])
print(type(np.isnan(s)))
Output:
<class 'pandas.core.series.Series'>
Reply
#2
You have the understanding the wrong way round - Series likely inherits from a NumPy class or implements the kind of interface* that NumPy expects.

* OK, you don't have interfaces in Python per se, but you can do it by implementing whatever methods you need (the term to look up is "duck typing").
Reply
#3
Thank you so much for the reply, ndc85430.

If the mechanism is based on duck typing, does isnan() do below?

- First, isnan() checks if the argument object has all required methods as array
- if it does, it creates a new instance with the constructor of the argument’s class
- it puts the results into the new instance with those those methods and returns it

Are there any example codes?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Numpy] How to store different data type in one numpy array? water 7 303 Mar-26-2024, 02:18 PM
Last Post: snippsat
  Help to control pandas.melt function vanphuht91 0 672 Jun-17-2023, 08:41 AM
Last Post: vanphuht91
  Pandas dataframes and numpy arrays bytecrunch 1 1,292 Oct-11-2022, 08:08 PM
Last Post: Larz60+
  Numpy returns "TypeError: unsupported operand type(s) for *: 'numpy.ufunc' and 'int'" kalle 2 2,530 Jul-19-2022, 06:31 AM
Last Post: paul18fr
  Pandas replace function not working on datafram with floats bcrypto 1 2,816 Apr-12-2021, 08:59 PM
Last Post: bcrypto
  numpy.ndarray' object is not callable natareid 4 3,749 Oct-16-2020, 08:00 AM
Last Post: sanrock123
  How to compare two json and write to third json differences with pandas and numpy onenessboy 0 4,642 Jul-24-2020, 01:56 PM
Last Post: onenessboy
  'numpy.ndarray' object is not callable ato_cr 1 15,124 May-12-2020, 08:12 AM
Last Post: anbu23
  numpy.float64 object is not iterable jcdr91 1 13,149 Apr-22-2020, 04:09 PM
Last Post: jefsummers
  how to apply user defined function to Pandas DataFrame evelynow 3 7,559 Aug-20-2019, 11:35 PM
Last Post: scidam

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020