<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 15, 2019 at 5:12 AM Mike C <<a href="mailto:tmrsg11@gmail.com">tmrsg11@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<div>
<div>
<div>
<div style="direction:ltr">The original data was in CSV format. I read it in using pd.read_csv(). It does have column names, but no row names. I don’t think numpy reads csv files.</div></div></div></div></div></blockquote><div><br></div><div>If you read a file into a pandas structure, it will have row labels. The default labels are integers that correspond to the ordinal positions of the values.</div><div><br></div><div>Numpy reads files.</div><div><a href="https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.loadtxt.html">https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.loadtxt.html</a></div><div><a href="https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.genfromtxt.html">https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.genfromtxt.html</a></div><div><br></div><div>I prefer file IO in pandas, so I don't know which function will better suite your needs.<br></div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div><div><div style="direction:ltr">And also, when I do a[2:5]-b[:3], it does not throw any “index out of range” error. I was able to catch that, but in both Matlab and R. You get an error. This is frustrating!!</div></div></div></div></div></blockquote><div><br></div><div>That's a feature of python in general, not numpy in particular. Every language has its own quirks. The more you immerse yourself in them, the quick you'll learn to adapt to them.</div><div>-paul<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div><div>
</div>
<div><br>
</div>
<div class="gmail-m_6583997523344461601ms-outlook-ios-signature"></div>
</div>
<div> </div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_6583997523344461601divRplyFwdMsg" dir="dir="ltr""><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> NumPy-Discussion <numpy-discussion-bounces+tmrsg11=<a href="mailto:gmail.com@python.org" target="_blank">gmail.com@python.org</a>> on behalf of Juan Nunez-Iglesias <<a href="mailto:jni.soma@gmail.com" target="_blank">jni.soma@gmail.com</a>><br>
<b>Sent:</b> Friday, February 15, 2019 4:15 AM<br>
<b>To:</b> Discussion of Numerical Python<br>
<b>Subject:</b> Re: [Numpy-discussion] [SciPy-User] Why slicing Pandas column and then subtract gives NaN?
<div> </div>
</font></div>

<br>
<div>
<blockquote type="cite">
<div>
<div style="color:rgb(51,51,51);font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;direction:ltr">
<div>
<div>
<div style="direction:ltr">I don’t have index when I read in the data. I just want to slice two series to the same length, and subtract. That’s it!</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">I also don’t what numpy methods wrapped within methods. They work, but hard do understand.</div>
<div style="direction:ltr"><br>
</div>
<div style="direction:ltr">How would you do it? In Matlab or R, it’s very simple, one line.</div>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Why are you using pandas at all? If you want the Matlab equivalent, use NumPy from the beginning (or as soon as possible). I personally agree with you that pandas is too verbose, which is why I mostly use NumPy for this kind of arithmetic, and reserve
 pandas for advanced data table type functionality (like groupbys and joining on indices).</div>
<div><br>
</div>
<div>As you saw yourself, a.values[1:4] - b.values[0:3] works great. If you read in your data into NumPy from the beginning, it’ll be a[1:4] - b[0:3] just like in Matlab. (Or even better: a[1:] - b[:-1]).</div>
</div>
</div>
</div>

_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@python.org" target="_blank">NumPy-Discussion@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div></div></div></div>