問題タブ [numpy-slicing]

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 投票する
0 に答える
302 参照

python - パンダのデータフレームに空の文字列を追加すると、奇妙な動作をします

新しい列「being_narrative」を追加したいデータフレームがあります。データフレーム情報は次のようになります。

データフレーム情報

データフレームには次の行インデックスがあります。

ここに画像の説明を入力

このコマンドを使用して、文字列型の新しい列を追加しようとしました:

ただし、Setting with Copy 警告が表示されます。

_main__:1: SettingWithCopyWarning: DataFrame からスライスのコピーに値を設定しようとしています。代わりに .loc[row_indexer,col_indexer] = value を使用してみてください

別のデータフレームで上記のコマンドを使用しようとしたときに、この警告は表示されません。 ここに画像の説明を入力

さらに、この列には新しい値が割り当てられていません

上記の割り当てを実行した後、新しい列はまだ空です: ここに画像の説明を入力

ただし、これは次のように個別に機能します。 ここに画像の説明を入力

問題はデータフレームにあるようです。何が問題なのですか?前もって感謝します!

アップデート:

最初に列を削除してから使用することにより、@Aryerezの提案を使用して.loc規則を使用しようとしました:

しかし、再び警告が表示されました。明らかにデータフレームに問題があります:

ここに画像の説明を入力

0 投票する
0 に答える
76 参照

python - 条件に基づいて配列をすばやくスライスする方法は?

巨大な for ループがネストされています....全部で 10 個ありますが、ここでは説明のために 6 個を含めています。内側の for ループのインデックスは、外側のループのインデックスに依存します (1 つのインスタンスを除く)。最も内側のループには、'&' と '|' を使用してすべて組み合わせた 8 つの異なる条件に基づいて配列 ('w' という名前) をスライスする操作が含まれています。このスライスされた配列 (「wrange」という名前) を引数として取り、それに対していくつかの操作を実行し、同じサイズの配列を返す、この「HB」関数もあります。

このスライスと「HB」関数の実行時間は、それぞれ 300 ~ 400 マイクロ秒と 100 マイクロ秒です。大幅に下げる必要があります。ナノ秒まで.!!

配列の代わりに辞書を使用してみました(スライスしている場所)。それははるかに遅いです。すべての可能な値のスライスされた配列を保存しようとしました。条件の可能な組み合わせは多数あるため、それ自体が非常に巨大な計算になります (これらの条件は for ループのインデックスに間接的に依存します)。

s は 1 から 49 まで

t は -s から s になります

l,nの組み合わせは641通り

ここでは、説明のために s,t の 1 つの値と l,n の組み合わせを掲載しました。

TL;DR

このセクション全体を 1 回実行するには、約 30 秒かかります。できるだけ低くする必要があります。1秒が最小目標

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

python - 別の 2D 配列から 2D 配列をスライスして残りを取得する方法

私はnumpy配列を持っていますA = np.array([[0, 1, 0, 0, 0],[0, 0, 1, 0, 0],[1, 0, 1, 1, 1]])

B = np.array([[0, 1, 0],[0, 0, 1],[1, 0, 1]])A からスライスし、残りの A を numpy 配列として取得したいC = np.array([[0, 0], [0, 0],[1,1]])

行列 B は A 内のさまざまな反復で変化するため、一般的なコードを探しています。

ありがとう