-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: use eval expression parsing as replacement for Term in HDFStore #4155
Conversation
That should wait for meta data though. Would be nice if you could encapsulate a bunch of related frames of different size and columns with some overlapping without having to merge them to make a frame with all of them. That's a bit out of scope here, but you can raise an issue maybe. Maybe there's a way to simulate this currently? |
I think what one needs for that is an Schema object that will point to in memory and eventually offline columns in data frames. |
@cpcloud ok....i am sold on the query, where you can specify column names and have them picked up.....i think pretty useful so instead of
this
|
Exactly. |
Excellent! Just to make sure, indexing cannot support this syntax because it would be hard to disambiguate column names from query expressions? |
Should be ok since the parsed expression of a single column name would just return the column. It's either a column name or an expression so we could support that. |
…',5) (and show deprecation warning)
As soon as a special character appears it will /not/ be a column. Where would it be a good place to argue for KeyError's on columns to check first on named indexes before giving up? I could also give a try at implementing it if there is interest. |
@Meteore it's perfectly reasonable to have unconventional column names...in fact I sometimes name my columns with latex markup if i'm going to plot it later. e.g., with @jreback |
re raising |
@cpcloud |
@jreback done pydata@f6feae7785f1331b01bd140653f8853d21bade1a |
hmm....i must be doing something wrong.... i created a local branch which tracks eval-3393, then my branch eval3 tracks that |
assuming you're on git branch --set-upstream-to=upstream/eval-3393 # track the remote from eval3
git branch working-branch --track eval3 # working-branch tracks eval3
git fetch upstream
git rebase upstream/eval-3393
git checkout working-branch
git pull --rebase # <- rebase maybe not necessary should do what you want and leaves you in the working branch |
I think i am tracking origin/eval-3393
and my commits are there
nothing gets updates (even if I ?? |
what is the remote when u do |
This should be a direct tracking branch, not an indirect
|
what is origin? is that yours or pandas master? |
i pushed your changes... |
you should be able to checkout a branch now that tracks |
ok..let me start with that....origin is |
ok...all set, do we need to rebase? how do we act on this? e.g. I make a commit and push...no prob but I should what about rebasing? |
everything is set to go. we can both push/pull, and we should both |
i'm not sure about rebasing though, i think we should be able to rebase at will...but i could be wrong there...e.g,. if you squash a bunch and then i pull will git want to keep the commits that i haven't squashed? |
ok...cool.....should we do a PR on this just to have a central place? |
and then close other ones? |
closing in favor of #4162 |
extension of @cpcloud #4037
allows natural syntax for queries, with in-line variables allowed
some examples
"ts>=Timestamp('2012-02-01') & users=['a','b','c']"
['A > 0']
Todos:
|
and~
operators, and invalid filter expressionsExpr
base class to opt in/out of allowed operations(e.g.
Numexpr
doesn't want to allow certain operations, butPyTables
needs them,so maybe define in the base class for simplicity, and just not allow them (checked in
visit
),which right now doesn't allow a
generic_visitor
)ops.Value
be equiv ofops.Constant
?