Qiskit / RFCs

RFCs for changes to Qiskit ecosystem
Apache License 2.0
34 stars 34 forks source link

Dataframe for Qiskit Experiments #28

Closed nkanazawa1989 closed 1 year ago

nkanazawa1989 commented 2 years ago

The complicated data structure inside the Qiskit Experiments class, particularly ExperimentData, makes advanced usage of the experiment framework harder. Experimentalists may hesitate to use such framework for their research project. Based on our users survey, we propose new experiment data structure built on top of the pandas dataframe, which is one of the most celebrated python package in the data science community (and we can also reduce maintenance overhead of custom build classes).

This PR focuses on the update of analysis results. In future we can also adopts data frame for experiment (circuit) results, i.e. ExperimentData.data(), for better metadata management.

t-imamichi commented 1 year ago

polars might be a good alternative. I heard it is faster than pandas, e.g. https://h2oai.github.io/db-benchmark/

nkanazawa1989 commented 1 year ago

Thanks @t-imamichi for the suggestion. We are aware of that package but we intentionally chose pandas for now. The number of analysis result entries in ExperimentData is estimated to be roughly ~100 and performance gain with Rust implementation is not quite drastic, and we want to chose a popular package with lot of documentation so that we can alleviate maintenance/support overhead.