[解決済み】Numpy: 2次元配列からランダムな行のセットを取得する
2022-04-13 02:59:03
質問
次のような非常に大きな2次元配列があります。
a=
[[a1, b1, c1],
[a2, b2, c2],
...,
[an, bn, cn]]
numpyを使用して、例えば初期配列からランダムな2行を含む新しい2次元配列を取得する簡単な方法はありますか?
a
(置換なし)ですか?
例
b=
[[a4, b4, c4],
[a99, b99, c99]]
解決方法は?
>>> A = np.random.randint(5, size=(10,3))
>>> A
array([[1, 3, 0],
[3, 2, 0],
[0, 2, 1],
[1, 1, 4],
[3, 2, 2],
[0, 1, 0],
[1, 3, 1],
[0, 4, 1],
[2, 4, 2],
[3, 3, 1]])
>>> idx = np.random.randint(10, size=2)
>>> idx
array([7, 6])
>>> A[idx,:]
array([[0, 4, 1],
[1, 3, 1]])
一般的なケースを想定してまとめる。
A[np.random.randint(A.shape[0], size=2), :]
非置換用(numpy 1.7.0+)です。
A[np.random.choice(A.shape[0], 2, replace=False), :]
1.7より前のバージョンでは、置換なしのランダムリストを生成する良い方法があるとは思えません。おそらく、2つの値が同じでないことを保証する小さな定義を設定することができます。
関連
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] NumPyの配列で、N個の最大値のインデックスを得るには?
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] 2つのリストの差を取得する
-
[解決済み] pandasのDataFrameをCSVファイルに書き出す
-
[解決済み] 空のPandas DataFrameを作成し、それを埋める?
-
[解決済み】numpyの配列を逆引きする最も効率的な方法
-
[解決済み】NumPyの配列を別のNumPyの配列に連結する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
PicgoのイメージベッドツールをPythonで実装する
-
Python百行で韓服サークルの画像クロールを実現する
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】Python: OverflowError: 数学の範囲エラー