Pandasの制限とPythonでの代替


11

Pandasが最初に金融の世界、特に自然科学(物理学、生物学など)向けに開発されなかったことをどこかで読んだことがあります。同様のデータ分析Pythonパッケージがより「自然科学指向」なものはありますか?

私はパンダの使用を開始したばかりで、他のパッケージまたは自家製のソリューションを使用しないと解決できない2つの問題がすでに発生しています。

  • 不確実性を管理する方法は?
  • データの単位を簡単に定義するにはどうすればよいですか?

おそらく他の問題があるかもしれませんが、もっと正確には経験がありません。現時点では、最初の点を解決するための不確実性パッケージについて考えていますが、パンダで正常に動作し、計算速度が低下しないかどうかはわかりません。実際、私は不確実性を伴う計算方法を探しているのではなく、インポートしたデータと共に不確実性を保存する単純な方法を探しています。2番目の点については、DataFrameとは別に辞書を作成して、各データに関連付けられた単位を管理するよりも優れた解決策を見つけることができませんでした。

同じ問題を経験したことがある場合、どのようにそれを解決しましたか、または自然科学のPythonでのデータ操作/保存/分析にどのパッケージを使用しましたか?


2
ユニットと不確実性をサポートするパンダの代替は、Tableアストロピーのクラスです。
P3trus 2016年

1
それは素晴らしいようです、私はアストロピーがこのようなものを持っていることを知りませんでした。それでも、ドキュメントを一見したが、不確実性を設定するための明確な例を見つけることができませんでしたTable(ただし、ユニットの部分を見つけました)。NDDataそれを管理するようですが、これらのクラスの違いについてはわかりません。コメントを2行の例で回答にしても構わない場合は、喜んで承諾します。
クラーク

回答:


5

不確実性の計算を自動ライブラリで処理するべきではないことは、Davidmhに同意します。自動が失敗するケースにすぐに出くわします(たとえば、フーリエ変換を実行してみてください)。

ただし、データの不確実性を保持したいだけだと言います。それらをデータフレームの追加の列として追加しないのはなぜですか?これがパンダの不確実性を管理する方法です。

Pandasは単位をサポートしていませんが、数量パッケージを直接使用できるように、何でもデータフレームに入れることができます。ただし、すべての機能がパンダで動作するわけではありません(ただし、驚くほどの量は動作します)ため、パフォーマンスが低下します。

パンダにメタデータを添付できるようにするための議論がいくつかありましたが、これまでのところ、何も起こっていないようです。

C ++ 11を除いて、本当に優れたファーストクラスのユニットサポートを提供する言語やライブラリはありません。常にパフォーマンスの低下と互換性の欠如があります


2

不確実性の管理は、実際には非常にデリケートな統計上の問題です。二乗偏微分を使用したエラー伝播の既知の式は、エラーが正規分布し、独立しており、小さい場合に適しています。これは通常のケースです。実際、正規性や独立性が完全に満たされていなくても、間隔の合理的な推定にのみ関心がある場合、ほとんどの実際的なケースでは、結果は実際の結果にかなり近い可能性があります。

もう1つの可能性は、上限と下限で操作を繰り返すことで、sin(2±0.1)=sin(2)sin(1.9)sin(2.1)

より高い精度が必要なケースで、不確実性に対する優れた分析モデルがある場合、正しい推定量を導出するために使用できる最大尤度などの方法があります。

ただし、すべての相関関係を考慮に入れて、関連するすべてのパラメーター空間を探索できるように、可能な入力に対して有効な正しい結果が必要な場合(ノイズが精度と同じ次数であるノイズのある検出器を分析的にモデル化する必要があることを想像してください) 、モンテカルロ法が必要です。入力のいくつかのインスタンスにランダムノイズを追加し、完全な分析を実行します。もちろん、これは計算時間を数百または数千倍する必要があることを意味する場合がありますが、常に並列処理が可能です。

つまり、最終的には、何をしたいか、どの程度の精度で、どれだけのリソースを所有しているかによって異なります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.