All Projects → h2oai → Datatable

h2oai / Datatable

Licence: mpl-2.0
A Python package for manipulating 2-dimensional tabular data structures

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Datatable

dask-awkward
Native Dask collection for awkward arrays, and the library to use it.
Stars: ✭ 25 (-97.86%)
Mutual labels:  data-structure, data-analysis
Awesome Business Intelligence
Actively curated list of awesome BI tools. PRs welcome!
Stars: ✭ 1,157 (-0.77%)
Mutual labels:  data-analysis
Wprig
A progressive theme development rig for WordPress.
Stars: ✭ 1,125 (-3.52%)
Mutual labels:  performance
Graphia
A visualisation tool for the creation and analysis of graphs
Stars: ✭ 67 (-94.25%)
Mutual labels:  data-analysis
Pydata Pandas Workshop
Material for my PyData Jupyter & Pandas Workshops, I'm also available for personal in-house trainings on request
Stars: ✭ 65 (-94.43%)
Mutual labels:  data-analysis
Execution time
How fast is your code? See it directly in Rails console.
Stars: ✭ 67 (-94.25%)
Mutual labels:  performance
Efsecondlevelcache
Entity Framework 6.x Second Level Caching Library.
Stars: ✭ 63 (-94.6%)
Mutual labels:  performance
Yall.js
A fast, flexible, and small SEO-friendly lazy loader.
Stars: ✭ 1,163 (-0.26%)
Mutual labels:  performance
Query Monitor
The Developer Tools Panel for WordPress
Stars: ✭ 1,156 (-0.86%)
Mutual labels:  performance
Powa Web
PoWA user interface
Stars: ✭ 66 (-94.34%)
Mutual labels:  performance
React
Smart Server Performance
Stars: ✭ 65 (-94.43%)
Mutual labels:  performance
Daru View
daru-view is for easy and interactive plotting in web application & IRuby notebook. daru-view is a plugin gem to the existing daru gem.
Stars: ✭ 65 (-94.43%)
Mutual labels:  data-analysis
Tabix
Tabix.io UI
Stars: ✭ 1,152 (-1.2%)
Mutual labels:  data-analysis
Jumbune
Jumbune, an open source BigData APM & Data Quality Management Platform for Data Clouds. Enterprise feature offering is available at http://jumbune.com. More details of open source offering are at,
Stars: ✭ 64 (-94.51%)
Mutual labels:  data-analysis
Startr
A template for data journalism in R
Stars: ✭ 69 (-94.08%)
Mutual labels:  data-analysis
Traceshark
This is a tool for Linux kernel ftrace and perf events visualization
Stars: ✭ 63 (-94.6%)
Mutual labels:  performance
Gl vs vk
Comparison of OpenGL and Vulkan API in terms of performance.
Stars: ✭ 65 (-94.43%)
Mutual labels:  performance
Go Tdigest
A T-Digest implementation in golang
Stars: ✭ 67 (-94.25%)
Mutual labels:  performance
Countly Sdk Cordova
Countly Product Analytics SDK for Cordova, Icenium and Phonegap
Stars: ✭ 69 (-94.08%)
Mutual labels:  data-analysis
Datacamp
🍧 A repository that contains courses I have taken on DataCamp
Stars: ✭ 69 (-94.08%)
Mutual labels:  data-analysis

datatable

Gitter chat PyPi version License Build Status Documentation Status Codacy Badge

This is a Python package for manipulating 2-dimensional tabular data structures (aka data frames). It is close in spirit to pandas or SFrame; however we put specific emphasis on speed and big data support. As the name suggests, the package is closely related to R's data.table and attempts to mimic its core algorithms and API.

Currently datatable is in the Beta stage and undergoing active development. Some of the features may still be missing. Python 3.6+ is required.

Project goals

datatable started in 2017 as a toolkit for performing big data (up to 100GB) operations on a single-node machine, at the maximum speed possible. Such requirements are dictated by modern machine-learning applications, which need to process large volumes of data and generate many features in order to achieve the best model accuracy. The first user of datatable was Driverless.ai.

The set of features that we want to implement with datatable is at least the following:

  • Column-oriented data storage.

  • Native-C implementation for all datatypes, including strings. Packages such as pandas and numpy already do that for numeric columns, but not for strings.

  • Support for date-time and categorical types. Object type is also supported, but promotion into object discouraged.

  • All types should support null values, with as little overhead as possible.

  • Data should be stored on disk in the same format as in memory. This will allow us to memory-map data on disk and work on out-of-memory datasets transparently.

  • Work with memory-mapped datasets to avoid loading into memory more data than necessary for each particular operation.

  • Fast data reading from CSV and other formats.

  • Multi-threaded data processing: time-consuming operations should attempt to utilize all cores for maximum efficiency.

  • Efficient algorithms for sorting/grouping/joining.

  • Expressive query syntax (similar to data.table).

  • LLVM-based lazy computation for complex queries (code generated, compiled and executed on-the-fly).

  • LLVM-based user-defined functions.

  • Minimal amount of data copying, copy-on-write semantics for shared data.

  • Use "rowindex" views in filtering/sorting/grouping/joining operators to avoid unnecessary data copying.

  • Interoperability with pandas / numpy / pure python: the users should have the ability to convert to another data-processing framework with ease.

  • Restrictions: Python 3.6+, 64-bit systems only.

Installation

On macOS, Linux and Windows systems installing datatable is as easy as

pip install datatable

On all other platforms a source distribution will be needed. For more information see Build instructions.

See also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].