問題タブ [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.
python - パンダのデータフレームに空の文字列を追加すると、奇妙な動作をします
新しい列「being_narrative」を追加したいデータフレームがあります。データフレーム情報は次のようになります。
データフレームには次の行インデックスがあります。
このコマンドを使用して、文字列型の新しい列を追加しようとしました:
ただし、Setting with Copy 警告が表示されます。
_main__:1: SettingWithCopyWarning: DataFrame からスライスのコピーに値を設定しようとしています。代わりに .loc[row_indexer,col_indexer] = value を使用してみてください
別のデータフレームで上記のコマンドを使用しようとしたときに、この警告は表示されません。

さらに、この列には新しい値が割り当てられていません
問題はデータフレームにあるようです。何が問題なのですか?前もって感謝します!
アップデート:
最初に列を削除してから使用することにより、@Aryerezの提案を使用して.loc規則を使用しようとしました:
しかし、再び警告が表示されました。明らかにデータフレームに問題があります:
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秒が最小目標
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 内のさまざまな反復で変化するため、一般的なコードを探しています。
ありがとう




