問題タブ [structured-array]
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 - ソートされた配列のサブセット内の一意の値の数をカウントする
私は2つの派手な配列を持っていusers
ますdat
. ユーザーごとusers
に、ユーザーに関連するデータを見つけて、dat
一意の値の数をカウントする必要があります。と のケースを処理する必要がlen(users)=200000
ありlen(dat)=2800000
ます。現在、ソートされているという事実を利用していないdat
ため、メソッドが非常に遅くなります。どうすればいいですか?
値 'other'dat
は、他の値が構造化配列にも存在することを示しているだけです。
python - numpy 構造化された 1 次元配列をスライスして、レコードの一部を取得します
numpy の 1-D 構造化配列があり、1 つのレコードの一部だけを取得したいと考えています。このタイプのリクエストをスライスする方法を見つけようとしていました。これが私のコードです:
これで、配列は次のようになります。
私の質問は、最初の配列の最初の要素以外をすべて取得するにはどうすればよいかということです。つまり、「平均」配列では、数値エントリを取得したいだけです。
私は何かをしようとしていた
また:
しかし、これらは機能していません。助言がありますか。
c - ループ構造体データを C のファイルに取得する
ユーザーが入力した数の学生の学生名とロール番号を受け入れるループ構造体配列があります
コード:
ご覧のとおり、各名前と番号をテキスト ファイルに入力しようとしていますが、このエラーが発生し続けます
エラー: 構造体または共用体ではないメンバー 'name' の要求 | エラー: 構造体または共用体ではないメンバー 'rollno' の要求
構造体の有無にかかわらず、これをファイルに入れる方法はありますか?
python - numpy 構造化配列の比較
手っ取り早い問題
同じdtypeを持つことが保証されている2つのnumpy構造化配列から特定のdtypeフィールドを比較できるようにしたいと考えています。特定の入力に基づいて関数が呼び出されるたびに、比較するフィールドが異なるようにする方法でこれを行いたいと思います (つまり、個々のフィールドごとに比較を簡単にハードコーディングすることはできません)。
例の長い問題
同じ dtype を持つ 2 つの numpy 構造化配列の特定のフィールドを比較しようとしています。たとえば、私たちが持っているとしましょう
を与える
と
a
ここで、フィールドがa['pos']['x']
フィールドより大きいエントリをチェックして見つけ、b['pos']['x']
これらのエントリを新しい numpy 配列に返したいとしましょう。
ここで、とフィールドa
の両方が の対応するものよりも大きいエントリのみを保持したいとします。これは非常に簡単です。x
y
b
これは正しい答えである空の配列を返します。
ただし、これらの配列に非常に複雑な dtype があり (たとえば、34 個のフィールドがあるとします。使用している dtype の例については、こちらを参照してください)、それらのいずれかを比較できるようにしたいが、すべてを比較できるようにしたいとします。 (前の例に似ていますが、全体的により多くの dtype フィールドがあり、比較したいものも多くあります。さらに、比較したいフィールドが実行ごとに変化する可能性がある場合はどうなるでしょうか (したがって、実際にハードコーディングすることはできません)上記で行った方法)それが私が解決策を見つけようとしている問題です。
私の現在の(未完の)解決策の試み
マスクされた配列の使用
この問題を解決するために最初に考えたのは、マスクされた配列を使用して、比較するデータ型フィールドを選択することでした。このようなもの(すべての比較を同じにできると仮定して):
今、私は次のようなことをしたいと思います
しかし、構造化された配列を次のように比較できるため、これは機能しません --
また、マスクされた配列を圧縮しようとしました
その結果、別のエラーが発生します
さて、構造化されたマスク配列がどのように機能するかを完全に理解していないため、上記のエラーが発生する可能性が高いことに気付きましたが、それが部分的にこの質問をしている理由です。マスクされた配列を使用してこのようなことを行う方法はありますか?
私が考えた解決策はおそらくうまくいくでしょうし、おそらく全体的により良いでしょう...
したがって、これを書いているときに考えたもう1つのオプションは、ユーザーの入力を解析して配列を形成するときに比較を行うことb
です。実際には、パーサーの各条件に数行を追加して比較を行い、結果を numpy ブール配列に追加してから、適切なエントリを抽出するために使用できますa
。今思えば、これでいいのかもしれません。
私の長くとりとめのない問題の結論。
この問題の解決策を見つけたと思うという事実にもかかわらず、少なくとも少しの間、この質問を投稿して、(a)構造化された/マスクされたnumpy配列との論理比較を行う方法についてアイデアがあるかどうかを確認します。知っておくと便利なことだと思います.(b)誰かが私が思いついたものよりも良いアイデアを持っているかどうかを確認してください. 「例に関する長い問題」セクションのスニペットを 1 行ずつコピーすることで MWE を非常に簡単に作成できることに注意してください。
python - dtypeでフィールドが重複するnp.arrayを構築する
私は次のようなdtypeを持っています:
今、私は書くことができます:
xy
これを使いやすくするためにフィールドを追加したいと思います。私はこれを行うことができます:
ただし、以前の方法を使用して配列を作成できなくなったため、次の方法に頼る必要があります。
これは危険なほど繰り返されます。
これに対処する必要がないように、プロパティを互いのエイリアスとしてマークする方法はありますか?