Git Product home page Git Product logo

Comments (3)

nsmith- avatar nsmith- commented on May 22, 2024

The non-ternary usage is equivalent to nonzero, e.g. np.where(array<1.) and (array < 1.).nonzero()
So that would be nice to also implement, as it is not currently present in JaggedArray. A (admittedly concise) workaround is
array.index[array<1.]

from awkward-0.x.

nsmith- avatar nsmith- commented on May 22, 2024

The ternary usage is necessary since fancy indexing doesn't work for __setitem__, e.g.

array[array<0] = 0

is supported in numpy but not awkward because of immutability.

array = awkward.where(array<0, 0, array)

could broadcast as appropriate.

from awkward-0.x.

jpivarski avatar jpivarski commented on May 22, 2024

You know, if the type is a (possibly jagged) number, like Clemen's problem on https://stackoverflow.com/a/58345579/1623645 , awkward.where could be implemented like this:

def where(predicate, iftrue, iffalse):
    predicate = predicate.astype(numpy.bool)   # just to make sure they're 0/1
    return predicate*iftrue + (1 - predicate)*iffalse

from awkward-0.x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.