Yeps, I admit with pandas it appears much easier<br><br>import pandas<br>df = pandas.read_csv(&quot;tmp/data.txt&quot;, sep=&quot;\\s&quot;)<br>df = df.dropna(axis = 1)<br><br>#df.index = df[&quot;alt&quot;]<br>selection = df.select(lambda i: df.ix[i, &quot;alt&quot;] in altitudes)<br>
print selection<br><br>cheers<br>--<br>Oleksandr (Sasha) Huziy<br><br><div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/13 Oleksandr Huziy <span dir="ltr">&lt;<a href="mailto:guziy.sasha@gmail.com" target="_blank">guziy.sasha@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am not sure if this way is easier thsn yours, but here is what I wpuld do<br><br>tol = 0.01<br>all_alts = data[:,0]<br>
print all_alts<br>all_alts_temp = np.vstack([all_alts]*len(altitudes))<br>print all_alts_temp<br><br>
sel_alts_temp = np.vstack([altitudes]*len(all_alts)).transpose()<br>print sel_alts_temp<br>sel_pattern = np.any( np.abs(all_alts_temp - sel_alts_temp) &lt; tol, axis = 0)<br>print sel_pattern<br>print data<br>print data[sel_pattern,:]<br>

<br><br>Cheers<br>--<br>Oleksandr (Sasha) Huziy<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/13 Andreas Hilboll <span dir="ltr">&lt;<a href="mailto:lists@hilboll.de" target="_blank">lists@hilboll.de</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am Di 13 Nov 2012 17:07:19 CET schrieb Juan Luis Cano Rodríguez:<br>
<div><div>&gt; I am loading some tabular data of the form<br>
&gt;<br>
&gt;   alt    temp    press    dens<br>
&gt;   10.0    223.3    26500    0.414<br>
&gt;   10.5    220.0    24540    0.389<br>
&gt;   11.0    216.8    22700    0.365<br>
&gt;   11.5    216.7    20985    0.337<br>
&gt;   12.0    216.7    19399    0.312<br>
&gt;   12.5    216.7    17934    0.288<br>
&gt;   13.0    216.7    16579    0.267<br>
&gt;   13.5    216.7    15328    0.246<br>
&gt;   14.0    216.7    14170    0.228<br>
&gt;<br>
&gt; into an ordinary NumPy array using np.loadtxt. I would like though to<br>
&gt; select the rows according to the altitude level, that is:<br>
&gt;<br>
&gt;     &gt;&gt;&gt; data = np.loadtxt(&#39;data.txt&#39;, skiprows=1)<br>
&gt;     &gt;&gt;&gt; altitudes = [10.5, 11.5, 14.0]<br>
&gt;     &gt;&gt;&gt; d = ...  # some simple syntax involving data and altitudes<br>
&gt;     &gt;&gt;&gt; d<br>
&gt;     10.5    220.0    24540    0.389<br>
&gt;     11.5    216.7    20985    0.337<br>
&gt;     14.0    216.7    14170    0.228<br>
&gt;<br>
&gt; I have tried a cumbersome expression which traverses all the array,<br>
&gt; then uses a list comprehension, converts to an array... but I&#39;m sure<br>
&gt; there must be a simpler way. I&#39;ve also looked at argwhere. Or maybe I<br>
&gt; should use pandas?<br>
&gt;<br>
&gt; Thank you in advance.<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; SciPy-User mailing list<br>
&gt; <a href="mailto:SciPy-User@scipy.org" target="_blank">SciPy-User@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a><br>
<br>
+1 for using pandas<br>
_______________________________________________<br>
SciPy-User mailing list<br>
<a href="mailto:SciPy-User@scipy.org" target="_blank">SciPy-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/scipy-user" target="_blank">http://mail.scipy.org/mailman/listinfo/scipy-user</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>