I am a newby in Python and I'm first looking for equivalent to things
I already manage: IDL.
For example, I want to plot a sub-set of points, selected from a
bigger set by applying some filter. In my example, I want to select
only the values > 0.
I succeed to write 5 different ways to do this, which one is the more
efficient, the quicker, the more Python?
It seems the 4th method give wrong results, but I don't know why...
Thanks for your tips,
Christophe
------------------------------------------------------------------------------------------
import pylab as pylab
import numpy as numpy
#Read the data
d=pylab.load('Tabla_General2.cvs',comments='#',delimiter=';')
# Define the columns to plot
i_x = 10
i_y = 5# Select the points to plot, 1rst method b_where = (d[:,i_x]>0) & (d[:,i_y]>0) xb = d[b_where,i_x] yb = d[b_where,i_y] # 2nd method xb2=pylab.compress(b_where,d[:,i_x]) yb2=pylab.compress(b_where,d[:,i_y]) # 3rd method i_where = pylab.where((d[:,i_x]>0) & (d[:,i_y]>0),1,0) xi = d[i_where,i_x] yi = d[i_where,i_y] # 4th method xi2=pylab.compress(i_where,d[:,i_x]) yi2=pylab.compress(i_where,d[:,i_y]) #5th method in_where = numpy.transpose(numpy.where((d[:,i_x]>0) & (d[:,i_y]>0))) xin = d[in_where,i_x] yin = d[in_where,i_y] ------------------------------------------------------------------------------ -- http://mail.python.org/mailman/listinfo/python-list
