Coder Social home page Coder Social logo

feitianyiren / root_numpy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scikit-hep/root_numpy

0.0 1.0 0.0 19.18 MB

The interface between ROOT and NumPy

Home Page: http://scikit-hep.org/root_numpy

License: BSD 3-Clause "New" or "Revised" License

Makefile 1.63% Python 86.40% Shell 0.65% TeX 1.33% C 0.19% C++ 9.78%

root_numpy's Introduction

[see the full documentation]

root_numpy: The interface between ROOT and NumPy

https://api.travis-ci.org/scikit-hep/root_numpy.png https://coveralls.io/repos/github/scikit-hep/root_numpy/badge.svg?branch=master https://landscape.io/github/scikit-hep/root_numpy/master/landscape.svg?style=flat

root_numpy is a Python extension module that provides an efficient interface between ROOT and NumPy. root_numpy's internals are compiled C++ and can therefore handle large amounts of data much faster than equivalent pure Python implementations.

With your ROOT data in NumPy form, make use of NumPy's broad library, including fancy indexing, slicing, broadcasting, random sampling, sorting, shape transformations, linear algebra operations, and more. See this tutorial to get started. NumPy is the fundamental library of the scientific Python ecosystem. Using NumPy arrays opens up many new possibilities beyond what ROOT offers. Convert your TTrees into NumPy arrays and use SciPy for numerical integration and optimization, matplotlib for plotting, pandas for data analysis, statsmodels for statistical modelling, scikit-learn for machine learning, and perform quick exploratory analysis in a Jupyter notebook.

At the core of root_numpy are powerful and flexible functions for converting ROOT TTrees into structured NumPy arrays as well as converting NumPy arrays back into ROOT TTrees. root_numpy can convert branches of strings and basic types such as bool, int, float, double, etc. as well as variable-length and fixed-length multidimensional arrays and 1D or 2D vectors of basic types and strings. root_numpy can also create columns in the output array that are expressions involving the TTree branches similar to TTree::Draw().

Did we mention that root_numpy is fast?

benchmarks/bench_tree2array.png

root_numpy's People

Contributors

ndawe avatar piti118 avatar cdeil avatar kratsg avatar chrisburr avatar pwaller avatar remenska avatar ibab avatar xenoscopic avatar eduardo-rodrigues avatar konstantinschubert avatar raymondehlers avatar vvolkl avatar

Watchers

Tang Zheng'en avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.