問題タブ [recarray]

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.

0 投票する
1 に答える
1020 参照

numpy - numpy rearray からの列の選択

numpy.core.recordsタイプ.recarrayのオブジェクトがあります。pandasのデータフレームとして有効活用したい。より正確には、あなたが行うのと同じ方法で、新しい再配列を取得するために、その列のサブセットを使用したいと考えていますpandas_dataframe[[selected_columns]]

これを達成する最も簡単な方法は何ですか?

0 投票する
1 に答える
302 参照

python - numpy 再配列に対する効率的な GROUP BY クエリ

purchase_date、user_address、user_id、product_id、brand_id、retailer_id の6 つの列を持つ製品購入ログのデータセットがあり ます。文字列である user_address を除いて、すべてに整数が含まれます。

データセット全体で最も多くの商品を販売している上位 5 つのブランド、つまり、データのエントリ数が最も多いブランドを取得する必要があります。

SQL では、次のようになると思います (間違っていたら訂正してください)。

次のように、numpy再配列を使用してpythonでそれを試しました:

機能しますが、約 12000 の異なるブランドを含む約 100000 行のデータセットで実行するのに約 15 秒かかりますが、これは長すぎるようです。for ループが最も時間がかかります。

おそらくnumpyのrearrayクエリメソッドを使用して、これを行うためのよりエレガントで効率的な方法はありますか?

ご協力いただきありがとうございます!

0 投票する
1 に答える
434 参照

numpy - オブジェクト データ型の再配列で nan 値を含む行を削除する

ここに私の入力があります:

これを出力として欲しい:

私が試してみました:

しかし、うまくいきません。

目的の出力が得られます。

このメソッドが機能しないのはなぜnp.NaNですか? np.NaNオブジェクト データ型の再配列の値を含む行を削除するにはどうすればよいですか? また、~np.isnan()オブジェクト データ型では機能しません。

0 投票する
2 に答える
89 参照

python-3.x - 安定した NumPy でサブ recarray をコピーする

にデータがありnumpy.recarray、その列の一部を抽出したいとします。データが膨大になる可能性があるため (すべてをコピーしたくない)、これを効果的なコピーにしたいと考えていますが、これらの機能を変更したくなくても変更する可能性がありますdata(ビューは必要ありません)。

今日、私は次のことを行います。

ただし、FutureWarningNumPy からは次のようになります。

/path/to/numpy/core/records.py:513: FutureWarning: Numpy は、構造化された配列で複数のフィールドを選択することによって返された配列を表示または書き込みしている可能性があることを検出しました。

このコードは numpy 1.15 で壊れる可能性があります。これは、コピーではなくビューを返すためです。詳細については、リリース ノートを参照してください。

return obj.view(dtype=(self.dtype.type, obj.dtype))

NumPy を更新するときに重大な変更を加えたくないので、この警告は大歓迎です。ただし、リリース ノートを調べても、今日の時点で列を抽出する際にこのコピー動作を実装し、今後のリリースで安定するものを作成するための最良のソリューションが何であるかは明確ではありません。

私の特定のケースでは、最適に近い効率が必要であり、Pandas は利用できません。これらの状況で、この状況の最善の回避策は何でしょうか?