[解決済み] 次元情報を失うことなくNumpyのインデックススライスを行う。
2022-09-22 23:13:57
質問
numpyを使用していますが、次元情報を失うことなく行のインデックスを作成したいです。
import numpy as np
X = np.zeros((100,10))
X.shape # >> (100, 10)
xslice = X[10,:]
xslice.shape # >> (10,)
この例ではxsliceが1次元になっていますが、(1,10)にしたいのです。 RではX[10,:,drop=F]とします。numpyでも同じようなものがあるのでしょうか。私はドキュメントでそれを見つけることができませんでしたし、同じような質問がされているのを見ませんでした。
ありがとうございます!
どのように解決するのですか?
一番簡単なのは
x[None, 10, :]
または同等に(しかしもっと読みやすく)
x[np.newaxis, 10, :]
.
なぜデフォルトでないかというと、個人的には、常にシングルトンの次元を持つ配列があると、すぐにイライラしてしまうからです。 numpyの開発者も同じように感じていたのでしょう。
また、numpyでは配列のブロードキャストも非常にうまく扱えるので、スライスの元となった配列の次元を保持する理由はほとんどないでしょう。 もしそうであれば、次のようなことがあります。
a = np.zeros((100,100,10))
b = np.zeros(100,10)
a[0,:,:] = b
はうまくいかないか、実装がはるかに困難になるでしょう。
(少なくとも、スライスの際に次元情報を削除することに対するnumpy開発者の理由についての私の推測です)
関連
-
[解決済み] NumPyの配列を切り詰めずに、完全に表示するにはどうしたらよいですか?
-
[解決済み] 2次元アレイにおけるピーク検出
-
[解決済み] 配列内の何かの最初のインデックスを返すNumPy関数はありますか?
-
[解決済み] numpyの配列を効率的に降順でソートする?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?