Comments (2)
Thanks for the report, this is not a bug.
"integer"
columns cannot represent infinity or nan, in Perspective or otherwise."float"
columns replaceNaN
,-Infinity
andInfinity
, withnull
intentionally - as asserted by our test suite. We made this decision intentionally in the very first Perspective release for two reasons:- These values are generally not relevant in the context of data visualization, and their presence among other false-y value makes other operations in the UI more cumbersome (like filters and groups with
null
). - JSON does not support these values, meaning we need to add validation and encoding/decoding anywhere the data may be stringified as JSON, leading to performance and significant complexity cost.
- These values are generally not relevant in the context of data visualization, and their presence among other false-y value makes other operations in the UI more cumbersome (like filters and groups with
It's possible we could elaborate on support for these values for "float"
types only, but discussion around this should go in its own feature request if anyone cares to elaborate on what the real use case for this would be.
from perspective.
Thanks for the prompt response, @texodus .
I understand your points regarding integers. However, for floats, while these values may be irrelevant and possibly undesirable for visualization libraries outside of data grids, there are many scenarios where data grids are more frequently used and where handling these values becomes necessary. In such contexts, there can be significant semantic differences between NaN, +/-Infinity, and null values. I am confident that in my specific situation, acknowledging these distinctions is crucial.
Considering this, I wonder if it's feasible to accurately serialize these values with a method akin to to_json. Would it be suitable to open a feature request for this particular issue?
from perspective.
Related Issues (20)
- Why JPMC task 4 perspective repository cannot be cloned?
- Field type icon in `Where` input isn't accurate
- Arrow decimal type getting read as integer HOT 2
- Perspective int types overflow on Arrow unsigned int types HOT 1
- How to compile the program with Rust?
- Question: How to reset the Persepective Viewer component?
- CLA Link Broken? HOT 4
- Custom Datagrid/table cell stlye HOT 1
- Add possibility to negate / invert ends with filter HOT 1
- Switch project contribution process from CLA to DCO HOT 2
- View::to_arrow_*() crashes when called from python HOT 4
- perspective javascript API view.to_json() is not deterministic 😳 HOT 5
- Issue with Local setup HOT 1
- Creating a table using arrow buffer fails with Table initialization failed: Error: Abort(): Could not load arrow column of type `time64`
- bug report
- Integration of DuckDB-Wasm with FINOS Perspective HOT 1
- Perspective Workspace : Context Menu does *not* overlay content HOT 1
- Cumulative sum? HOT 2
- Infinite loops in ExprTK expressions lock the engine HOT 1
- `index()` ExprTK function fails during `update()`
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 perspective.