問題タブ [binning]
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 - pandas - 別の列の値に基づくビン定義によるビニング
私はそのようなタスクに苦労しています:データフレームから列の値を離散化し、他の列の値に基づいてビン定義を行う必要があります。
最小限の作業例として、単純なデータフレームを定義しましょう。
データフレームは次のようになります。
C
ここで、 column の値ごとに異なるビンを持つ bin ラベルを含むcolumn を紹介したいと思いますA
。
(-10,-1,0,1,10)
のためA == 'one'
に、(-100,0,100)
のためA == 'two'
に、(-999,0,1,2,3)
のためにA == 'three'
。
望ましい出力は次のとおりです。
pd.cut
またはnp.digitize
、 のさまざまな組み合わせを使用してみましたがmap
、apply
成功しませんでした。
pd.cut
現在、フレームを分割して各サブセットに個別に適用し、次にマージしてフレームを元に戻すことで、次のように結果を達成しています。
これは機能しますが、十分にエレガントだとは思いません。数百万行のフレームを作成する場合、本番環境で速度やメモリの問題が発生することも予想されます。率直に言えば、これはもっとうまくできると思います。
助けやアイデアをいただければ幸いです...
r - Rは、別の列の各ビンに対応する1つの列の平均を計算します
2 つの列を持つこれらのデータがあります。グラフからわかるように、データにはノイズが多すぎます。したがって、列「r」をサイズ 5 で離散化し、各行を対応するビンに割り当ててから、各ビンの f の平均を計算します。
したがって、手順を順を追って説明すると、行 1 から始まる各行を見ると、ビン [65-70] に割り当てられ、行 2 は [60-65] に割り当てられます ...
次に、最終結果として、各ビンの中間点とその f 値の平均が必要です。S、これで f(r) の関数として f の線を引くことができます
python - パンダの時系列、1つの列でビニングし、ビンで費やされた時間を累積します
パンダを使用したビニングに関して問題があります! 簡単な例を次に示します。データフレーム df があります。
これが私がやりたいことです:ビン= [0,20,40,60,80]のように、データを速度でビンに入れたいと思います。次に、速度ビニングに従って時間列の値をビニングしたいと思います。その後、ビンに時間を蓄積してヒストグラムをプロットしたいと思います。助けてください
r - R? を使用したビン化された最尤推定
Rを使用してビン化されていない最尤推定を行うチュートリアルの例を数多く見てきました。ただし、現時点では、ビン化された最尤推定値の例を R でまだ見つけることができていません。確かに別のソフトウェアを試すことはできますが、 Rで簡単に実装できるかどうかを確認することにまだ興味があります。
例として、いくつかの放射性同位元素の崩壊を測定しているとします。250 時間ビンにわたる事象の数が提供され、それぞれの持続時間は $\Delta t$ です。各ビンのイベント数は、各ビンの予想数が $$ \bar{N}_{bin} = \Delta t N_0\lambda e^{-\lambda t_{bin}} $ であるポアソン統計によってモデル化できます。 $ したがって、ビニングされた最尤関数の対数は $$ \sum_{bin} \left( N_{bin} \ln(\bar{N}_{bin}) - \bar{N}_{bin} で与えられます-\ln(N_{bin}!) \right) $$ 推定したいパラメータは $\lambda$ と $N_0$ です。
繰り返しますが、私の質問は、これがRを使用して比較的簡単に実行できるかどうかです。ありがとう!
multidimensional-array - 多次元データのビニング
膨大な数の多次元データ ポイントがあります。ポイントは基本的に次のようになります。
次元数が 20 程度になることもあり、この 20 次元空間のポイント数は 1,000 万程度になることもあります。
すべてのディメンションを「依存」と見なして、このデータ ポイントをビンに入れる必要があります。したがって、ポイントは一緒に移動する必要があります。一次元でビニングを行ったことがありますが、アルゴリズムを考え出すために頭を悩ませてきましたが、多次元の場合はこれまでのところ成功していません。
多次元ビニングに関するJavaの例も見つかりませんでした。Javaでこの問題に取り組む方法について誰かが私にアイデアを与えることができれば、それは大きな助けになるでしょう.
python - hexbin reduce_C_function からの出力のリストを印刷するにはどうすればよいですか?
ヘキサグラム ビニング データがあり、C=vel を使用して速度別に色分けします。これは問題なく動作しますが、計算された標準偏差のリストと各ヘキサグラムのオブジェクト数のリストが必要です。私が使う:
「reduce_C_function=np.std」は、各ヘキサグラムの速度 (vel) の標準偏差を提供します。これは私が望むものですが、ベクトルを画面に出力することも必要です。座標 x と y は次の方法で取得できます。
get_array と get_offset を使用して、各六角形のアイテムの数を取得できると考えました。
しかし、私の get_offsets() は空のベクトルを作成し、get_array() は六角形ごとの平均速度値を返しているようです..私の速度値「vel」は 5513 項目の長さで、counts=imageh.get_array() は 146 の値を返します私の速度と同じ範囲。念のため再度 3 回実行したところ、3 回目の試行で get_array() は標準偏差の範囲内で 146 個の値を返しました。これが本当なら、問題の一部は解決するでしょう。
私が欲しいのは、計算された速度の標準偏差です...画像のカラーバーで使用される「reduce_C_function」の出力です。また、各ヘキサグラムで見つかった数字も必要です。目標は、各ヘキサグラムの各標準偏差を取得し、そのヘキサグラムのポイント数で割り、加重標準偏差を作成することです。実行することで個別に取得できる生の画像からのヘキサグラムのポイント数:
次にget_array()を使用しますが、元のステートメントから各hexbinのアイテム数を取得する方法があると確信していましたか? さらに、追加の複雑さとして、速度に np.mean フィルターを含めると、ポイントとビンの数がわずかに異なります (最初の例)。したがって、各ヘキサグラムの数をクエリから直接選択するのが最適です。