問題タブ [pandas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - パンダOLSを使用した予測
私はscikits.statsmodelsOLS予測関数を使用して近似データを予測してきましたが、今度はPandasの使用に移行したいと思います。
ドキュメントはOLSとy_predictという関数を参照していますが、正しく使用する方法に関するドキュメントが見つかりません。
例として:
ただし、フィットを生成することはできますが、次のようになります。
予測は何も変わりません。
scikits.statsmodelsでは、次のようにします。
内因性データを外因性の限界まで予測するために、パンダでこれを行うにはどうすればよいですか?
更新:Changのおかげで、新しいバージョンのPandas(0.7.3)にこの機能が標準で追加されました。
python - Pythonとパンダを使用してOHLC株式データを別の時間枠に変換する
パンダを使用したOHLCデータの時間枠変換に関して、誰かが私を正しい方向に向けてくれませんか?私がやろうとしているのは、より短い時間枠のデータを前提として、より高い時間枠のデータでデータフレームを構築することです。
たとえば、次の1分(M1)データがあるとします。
毎分オープン、ハイ、ロー、クローズ(OHLC)とボリュームの値があり、次のような5分間の読み取り値(M5)のセットを作成したいと思います。
したがって、ワークフローは次のとおりです。
- Openは、タイムウィンドウの最初の行のOpenです。
- 高は時間枠の中で最も高い高です
- 低は最低です低
- クローズは最後のクローズです
- ボリュームは単にボリュームの合計です
ただし、いくつかの問題があります。
- データにギャップがあります(10:30:00の行がないことに注意してください)
- 5分間隔はラウンドタイムで開始する必要があります。たとえば、M5は10:22:00ではなく10:25:00に開始します。
- まず、この例のように不完全なセットを省略したり、含めたりすることができます(したがって、10:20:00の5分間のエントリを持つことができます)
アップダウンサンプリングに関するPandasのドキュメントに例が示されていますが、アップサンプリングされた行の値として平均値が使用されているため、ここでは機能しません。私は使ってみgroupby
ましagg
たが、役に立ちませんでした。最高の高値と最低の低値を取得するのはそれほど難しいことではないかもしれませんが、最初に開いて最後に閉じる方法がわかりません。
私が試したのは、次のようなものです。
しかし、それは私が理解していない次のエラーになります:
ですから、それを行う上での助けをいただければ幸いです。選択したパスが機能しない場合は、他の比較的効率的なアプローチを提案してください(数百万行あります)。金融処理にパンダを使用するためのいくつかのリソースもいいでしょう。
python - numpy再配列の特定の列のdtypeを変更するにはどうすればよいですか?
次のような再配列があるとします。
特定の列を浮動小数点数に変換したいとします。どうすればよいですか?ndarrayに変更して、それらをrecarrayに戻す必要がありますか?
python - Pythonの管理図
私は現在、統計的プロセス制御のためにRを日常的に使用しています。これにより、 EWMA、シューハート、CUSUM、GAM /レススムージングなどの管理図を作成できます。
Pythonを使用してこれらのタイプのグラフを作成するための最良の方法を知っている人はいますか?私は最初に見ましたが、パンダscikits.timeseries
に貢献するために缶詰にされました。
パンダを見てみましたが、EWMA機能はありますが、もう少し必要です。
python - 日付のパンダpivot_table
DataFrame
日付列を持つパンダがあります。インデックスではありません。
各場所の月ごとの集計を使用して、データフレームに pivot_table を作成したいと考えています。
データは次のようになります。
私が使用した:
pivot_table(cdiff, values='COUNT', rows=['DATE','LOCATION'], aggfunc=np.sum)
値をピボットします。cdiff.DATE を日付ではなく月に変換する方法が必要です。私は次のような結果になることを願っています: データは次のようになります:
strftime
cdiff.DATE であらゆる方法を試しましたが、成功しませんでした。シリーズオブジェクトではなく、文字列に適用したいと考えています。
python - python の Pandas データ ストラットは何に使用されますか?
pandas には少なくとも 4 つのデータ ストラットがあります。
->スライス
->DateFrame
->DateMatrix
->パネル
これらのユースケースは何ですか。ドキュメントはスライスとデータフレームを強調しているようです。ユースケースの例を挙げてください。ドキュメントの場所はわかっています。
python - パンダでsummaryBy(...,full.dimension=T)を行う効率的な方法は何ですか?
R の doBy パッケージを使用して、グループの集計を行い、元のデータと同じ形状と順序で結果を取得します。
DataFrame
複数のインデックスのいずれかでグループ化されている場合、パンダで同じことを行う方法はありますか?
python - SUM(col_1*col_2)、加重平均などの Python Pandas の GroupBy 関数
を使用せずに 2 つの列の積 (または合計など) を直接計算することは可能ですか?
使用する方がはるかに高速です(私のマシンでの時間の半分未満)
しかし、私はこれをしなければならないのはあまり好きではありません。たとえば、グループごとの加重平均を計算すると便利です。ここで、ラムダアプローチは次のようになります
また、ヘルパーを b.sum() で除算するよりもはるかに遅くなります。
python - パンダで日時インデックスを作成する方法
"foo"
生データ系列で使用する日時インデックスを作成するにはどうすればよいですか。(例では、15 秒ごとに 'foo' および 30 秒ごとに 'foo2' となります。) 生のシリーズを 'base' データフレームに挿入できる場合は、'foo' を使用してデータフレームを再キャストしたいと思います。
シリーズを組み合わせて df "foo" と df "foo2" を組み合わせたい場合、メモリ ヒットはどうなるでしょうか。
編集:後import pandas
、datetime.timedelta
動作を停止します
python - Pandas MultiIndex でラベルが 1 つだけの値のリストでインデックスを作成する方法
パンダのマルチインデックスを使用して、最上位のインデックス (日付) で部分的なスライスを選択し、リストを第 2 レベルのインデックス (株式記号) に適用しようとしています。つまり、以下の範囲で AAPL と MSFT のデータが必要ですd1:d2
。
部分的なスライスは正常に機能しますが、途中で GOOG を回避しながら、2 番目のインデックスから AAPL と MSFT の両方を選択する方法が明確ではありません。
レベルを交換すると、単一のシンボルで機能しますが、リストでは機能しません。
長いタプルリストを作成することを避けたい:
ixに渡されたときに機能します。以下は私の希望する出力です。
ありがとう、ジョン