numpy and filtering (was: Fastest way to store ints and floats ondisk)

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Laszlo Nagy

    numpy and filtering (was: Fastest way to store ints and floats ondisk)

    Attached there is an example program that only requires numpy. At the
    end I have two numpy array:

    rdims:

    [[3 1 1]
    [0 0 4]
    [1 3 0]
    [2 2 0]
    [3 3 3]
    [0 0 2]]


    rmeas:

    [[100000.0 254.0]
    [40000.0 200.0]
    [50000.0 185.0]
    [5000.0 160.0]
    [150000.0 260.0]
    [20000.0 180.0]]


    I would like to use numpy to create statistic, for example the mean
    value of the prices:
    >>rmeas[:,0] # Prices of cars
    array([100000.0, 40000.0, 50000.0, 5000.0, 150000.0, 20000.0],
    dtype=float96)
    >>rmeas[:,0].mean() # Mean price
    60833.333333333 3333321

    However, I only want to do this for 'color=yellow' or 'year=2003,
    make=Ford' etc. I wonder if there a built-in numpy method that can
    filter out rows using a set of values. E.g. create a view of the
    original array or a new array that contains only the filtered rows. I
    know how to do it from Python with iterators, but I wonder if there is a
    better way to do it in numpy. (I'm new to numpy please forgive me if
    this is a dumb question.)

    Thanks,

    Laszlo





Working...