Comments (8)
This is a tricky one. I'll have to dive into it a little bit to see what's going on. The ~
usage on the symbolic is one of the more complicated parts of the code and it's been awhile since I wrote that.
from dfply.
Ok so this is definitely a bug, but I'm gonna need to think about how I'll fix it. Essentially the problem is that the inversion is not propagating through properly in the chain of operations, and unfortunately it's not a trivial fix as far as I can tell right now. I'll let you know when I come up with a solution.
from dfply.
Hi Kieferk,
Many thanks for your update. I look forward to your solution and will keep an eye out!
from dfply.
Just wanted to chime in that I have also come across this bug, same scenario when using mask
except my case was e.g. mask(X.bool_col1 & (~X.bool_col2))
from dfply.
Also wanted to add that in the case of &
, you can use mask(condA, ~condB)
, and alternatively, the -
sign for inversion also works, e.g. mask(condA & -condB)
from dfply.
Sorry I've been inactive for awhile since work has been very busy. I am going to dive back in and try to tackle this over the weekend.
I am hoping I can resolve this "elegantly" but from what I can see it may require some substantial code re-writing. I'll keep you posted.
from dfply.
interestingly, passing the invert operator to make_symbolic
results in correct behavior (fwiw):
from operator import inv # inv(x) == ~x
df['a'].isnull() | (~df['b'].isnull())
# m
# 0 True
# 1 True
# 2 True
# 3 True
# 4 False
df >> transmute(m = X.a.isnull() | inv(X.b.isnull()))
# m
# 0 True
# 1 False
# 2 False
# 3 False
# 4 True
df >> transmute(m = X.a.isnull() | make_symbolic(inv)(X.b.isnull()))
# m
# 0 True
# 1 True
# 2 True
# 3 True
# 4 False
from dfply.
Hi kieferk,
My friends and I are very excited and thankful when encounting the dplyr-style package.
We use filter_by
a lot in filting chinese by boolean values.
We look forward to your solution for this Boolean bug.
from dfply.
Related Issues (20)
- A way to outer_join() by index?
- rename(CUT=X.cut, COLOR='color') - counterintuitive IMO HOT 1
- Liveness of this project HOT 1
- group_by ModuleNotFoundError: No module named 'dfply.group'; 'dfply' is not a package
- Performance issue
- NameError: name 'filter_for_jpeg' is not defined
- mutate not support the new variables that created above HOT 2
- Can I use `%in%` operator in dfply framework? HOT 1
- missing cumcount() function in embedded column functions
- unable to aggregate and summarize counts for a categorical variable HOT 1
- When using `spread`, Type error occurs on not callable 'Client' object HOT 1
- Issues to convert to pandas dataframe
- how to use case_when function
- Issue arranging data after summarising with a new variable HOT 1
- Not taking into account None values in group_by HOT 1
- missing sum() from summary function
- inner_join can not use by this way
- #group_by #mode #iter()
- Filtering two or more elements from a column
- how to summarise multiple variables? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dfply.