2019 pandasユーザー調査

Pandasは最近、今後の開発の指針とするため、ユーザー調査を実施しました。ご参加いただいた皆様、ありがとうございました!この投稿では、主要な結果をご紹介します。

この分析と生データは、GitHubで公開されており、Binderで実行できます。

Binder

2019年夏に15日間実施した調査で、約1250件の回答をいただきました。

回答者について

pandasの経験と使用頻度については、かなり幅広い層から回答が得られましたが、回答者の大多数はより経験豊富な側でした。

png

png

Python Developers Surveyでも尋ねられた質問をいくつか含め、Pandasのユーザー層をPythonのユーザー層と比較できるようにしました。

回答者の90%がPythonを主要言語として使用しています(PSF調査では84%)。

Yes    90.67%
No      9.33%
Name: Is Python your main language?, dtype: object

Windowsユーザーは十分に代表されています(このトピックに関するSteve Dowerの講演を参照)。

Linux      61.57%
Windows    60.21%
MacOS      42.75%
Name: What Operating Systems do you use?, dtype: object

環境分離については、condaが最も人気がありました。

png

ほとんどの回答者はPython 3のみを使用しています。

3        92.39%
2 & 3     6.80%
2         0.81%
Name: Python 2 or 3?, dtype: object

Pandas API

オープンソースプロジェクトにとって、実際にどの機能が使われているかを知ることは難しい場合があります。そのアイデアを得るために、いくつか質問しました。

CSVとExcelは(良くも悪くも)最も人気のあるフォーマットです。

png

pandas内部の潜在的なリファクタリングに備えて、ワイドな(100列以上)DataFrameがどの程度一般的であるかを把握したかったのです。

png

Pandasは徐々に新しい拡張型を増やしています。Categoricalsが最も人気があり、Nullable integer型はすでにタイムゾーン付きのdatetimeとほぼ同じくらい人気があります。

png

より多くの、そしてより良い例が、優先順位の高い開発項目であるようです。Pandasは最近、ドキュメント改善のためのNumFOCUS助成金を受け取り、チュートリアル形式のドキュメント作成に活用しており、このニーズを満たすのに役立つはずです。

png

また、特定の、一般的に要望の多い機能についても尋ねました。

png

その中で、特に際立っていたのは、大規模データセットへの「スケーリング」でした。いくつかの考察

  1. おそらくpandasのドキュメントは、スケーラブルなDataFrameを提供するライブラリ(Daskvaexmodinなど)をより良く紹介するべきでしょう。
  2. メモリ効率(ネイティブな文字列データ型、内部コピーの削減などによるもの)は、価値のある目標です。

その次に重要な改善点は、整数型の欠損値です。これらは実際にはPandas 0.24で追加されましたが、デフォルトではなく、pandas APIの他の部分との間にまだいくつかの非互換性があります。

Pandasは、例えばNumPyよりも保守的ではないライブラリです。1.0に近づいていますが、その過程で多くの非推奨化と、いくつかのAPI破壊的な変更を行ってきました。幸いなことに、ほとんどの人はそのトレードオフを受け入れています。

Yes    94.89%
No      5.11%
Name: Is Pandas stable enough for you?, dtype: object

pandas APIが大きすぎるとの認識(pandasのメンテナーの多くも共有しています)があります。それを測定するために、ユーザーにpandasのAPIが大きすぎるか、小さすぎるか、それともちょうど良いか尋ねました。

png

最後に、ライブラリ全体の満足度を1(非常に不満)から5(非常に満足)で尋ねました。

png

ほとんどの人は非常に満足しています。平均回答は4.39でした。この数字を今後も追跡していくのが楽しみです。

生データを分析する場合は、結果を私たち@pandas_devと共有してください。