On 2019-10-07 20:35, Steven D'Aprano wrote:

As per Caleb's initial post, this is how Pandas currently does it:

     db[db['x'] == 1]

Replacing that with db[x=1] seems like a HUGE win to me.

Even db[{'x': 1}] is pretty clunky.

For Pandas, db['x'] which creates an expression involving `x`, and can be used in more than one place.  It is small matter to start your method (or class, or module) with some declarations:

x = db['x']

which is boilerplate, but also easily ignored.  Then you can write

db[x==1]

Which is just as clean, and more specific, than whatever `db[x=1]` means.  I do not believe this syntax will help Pandas because equality is just one-of-many useful operators.  This does not help me if I want to say

db[x>1]

or say

db[x==1 || t > 2]

I am not sure how many expressions are actually found in realworld code.  Examples are written out, but most code is not examples.  Most code, that I have seen, manipulates expressions that come from elsewhere.  Here is an Elasticsearch expression:

e = {"term": {"x": 1}}

which is not seen in the code; assignment to `e` is done elsewhere, maybe from a config file, maybe from another application.  The code only sees `e`.  Therefore an example like

db[db['x'] == 1]

looks like

db[e]

in realworld code.




_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/36SKB65DI64CUTS277ICCUDDKXZSZJTG/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to