[Numpy-discussion] Why slicing Pandas column and then subtract gives NaN?

C W tmrsg11 at gmail.com
Wed Feb 13 17:50:39 EST 2019

Dear list,

I have the following to Pandas Series: a, b. I want to slice and then
subtract. Like this: a[1:4] - b[0:3]. Why does it give me NaN? But it works
in Numpy.

Example 1: did not work
>>>a = pd.Series([85, 86, 87, 86])
>>>b = pd.Series([15, 72, 2, 3])
>>> a[1:4]-b[0:3] 0   NaN 1   14.0 2   85.0 3   NaN
>>> type(a[1:4])
<class 'pandas.core.series.Series'>

Example 2: worked
If I use values() method, it's converted to a Numpy object. And it works!
>>> a.values[1:4]-b.values[0:3]
array([71, 15, 84])
>>> type(a.values[1:4])
<class 'numpy.ndarray'>

What's the reason that Pandas in example 1 did not work? Isn't Numpy built
on top of Pandas? So, why is everything ok in Numpy, but not in Pandas?

Thanks in advance!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20190213/661c565c/attachment.html>

More information about the NumPy-Discussion mailing list