問題タブ [deedle]
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.
map - Deedle フレームへのマッピング
F#を学んでいます。Map<string, seq<DateTime * float>>
aを Deedle データフレーム ( http://bluemountaincapital.github.io/Deedle/tutorial.html#creating )に変換しようとしています。
次のコードを作成しました。
mapToDeedleFrame
既存のフレームを使用してマップを折りたたみます。フォルダ機能folderFnct
:
- フレームを取る
- Map キーをフレーム内の列名として使用し、
- 値 (
<DateTime * float>
) を処理して、それらの Series を作成します。
問題は次のとおりです。
どこ:
フィールド、コンストラクター、またはメンバー「結合」が定義されていません
この問題の潜在的な原因を 3 つ特定しました。
- なぜ
aFrame.Join
定義されていないのですか?の型を明示的に指定してみましたaFrame
- 空のフレームにフィード
mapToDeedleFrame
するにはどうすればよいですか? - が空
folderFnct
の場合に対してパターンマッチする必要がありますか?aFrame
どうもありがとう!
編集1
Tomas の提案に基づいて、これが私がこれまでに作成したものです。
不足している最後のステップは次のとおりです。空のフレームをすばやく渡すにはどうすればよいですか (おそらくダミーのフレームを作成しないようにしmapToDeedleFrame
ます)。私はのように試し[]
ました
これはばかげた質問かもしれませんが、私は F# をEmpty
初めて使用するので、言語に型が組み込まれているかどうか疑問に思っていました。
フォローアップの質問
私が読んだソースファイル(https://github.com/BlueMountainCapital/Deedle/blob/master/src/Deedle/Frame.fs):
関数の説明が画面に飛び出している間:
上の図から、フレームのタイプは colKey と同じであると推測できますが、私が理解しているように、colKey はシリーズからの結合で追加されたデータフレーム列のキーにすぎません。完全な初心者として、私はかなり混乱しています..
編集2
私はコードを書き直しました:
問題はそれです:
frame を Frame として返しますが、代わりに seriesList を使用します(string *Series<DateTime, float>) list
問題は次のとおりだと思います。
実際seriesListMapper
には次のように示されます。
string
値がfromに変換される方法と理由がわかりませんfloat
。
興味深い点の 1 つは、frame.Format()
実際に でフレームをプロットすると、データが正しいように見えることです。へのこの「奇妙な」変換string
です。
f# - Deedle でリアクティブ データフレーム (ストリーミング データが取り込まれた) を作成するにはどうすればよいですか?
ストリーミング データを含むデータフレームを作成したいと考えています。これは Deedle ではどのように行われますか?
データ行の量は事前にわからないため、Rx ストリームのようなものを作成したいと考えています。
f# - Deedle - スライスして行を選択する方法は?
複数の行の値の比較に基づいていくつかの行を選択したいと考えています。
データフレーム(df)は次のようになります:
col["two"] >= 5 および col["four"] <=11 の行を取得したいと考えています。これは、次のようなパンダを使用してPythonで簡単に実行できます。
F# で Deedle を使用してこれを行うにはどうすればよいですか?
ありがとう!
f# - Deedle フレームを並べ替えることはできますか?
私が知る限り、Deedle フレームはインデックスによってのみソートされます。カスタムの並べ替え関数を適用したり、特定のシリーズで並べ替えたりする (および昇順/降順を定義する) 方法はありますか?
matrix - データ フレーム - マトリックスに変換する際の順序の一貫性
私はディードル Frame<DateTime,string>
を持っています。列にはfloat
値が含まれており、密度が高い (欠損値がない)。
からデータ フレームを作成する必要がありますstring []
。
Matrix
データ全体で 2D を構築する- Series を構築し、行列
Series<DateTime,Matrix<float,CpuLib>>
の行を折りたたむ1xn
私の場合、StatFactory によるFCoreで実験していますが、将来的には別の線形代数ライブラリを使用する可能性があります。
私の懸念は、プロセスで行と列の順序が変更されていないことを確認する必要があることです。
データフレームの構築
以下を使用してデータをフェッチします。列の順序がティッカーの最初のリストと異なることに気付きました。何故ですか?を使用するとArray.Parallel.Map
順序が変わりますか?
データ フレームから 2D マトリックスへ
マトリックスを構築するために、以下のコードを使用します。列名の配列 ( ) をマッピングすると、selectedCols
列の順序がずれません。を使用して行の順序で単体テストを実行しましたがArray.Map
、すべて問題ないように見えますが、知りたいです
- ライブラリに一貫性チェックがあれば、問題が発生しない可能性がありますか?
Array.Parallel.map
列の順序が保持されると思います。
コードは次のとおりです。
データ フレームから行行列の時系列へ
以下のコードを使用して、行行列の時系列を作成します。
- シリーズにデータを保持すると、行の順序が確実に保持されます。
- 列をフィルタリングして、列の順序が関数に渡された列名の配列とまったく同じであることを確認するにはどうすればよいですか?
コードは次のとおりです。
どうもありがとう。
PS: 上記の 3 つの例は、個々のケースを個別に説明するよりも、他のユーザーや私自身がライブラリの仕組みを理解するのに役立つと信じているため、3 つのシナリオすべてをまとめました。
sql - F#: SQL データ ソースを使用して Deedle Frame を作成する方法
データが SQL サーバーから来る場合、F# で Deedle Frame を作成するための最良の方法は何かを理解しようとしています。私は次のようなことを試しました。
および他のいくつかのバリアント。しかし、運がなければ。その点で、私は F# と Deedle の両方に不慣れです。上記が機能しない理由はわかりますが (Frame.ofRows は引数と互換性がありません)、続行する最善の方法 (または続行する方法) がわかりません。