[解決済み] Numpyのarray()関数とasarray()関数の違いは何ですか?
2022-03-25 04:55:42
質問
Numpyの
array()
と
asarray()
関数はありますか?どんな時にどちらかを使うべきですか?私が思いつく限りの入力に対して、これらは同一の出力を生成するようです。
どのように解決するのですか?
他の質問が、この質問にリダイレクトされているため
asanyarray
または
他の配列生成ルーチン
ということで、それぞれが何をするのか、簡単にまとめておくとよいでしょう。
主な違いは、入力を変更せずに返す場合と、コピーとして新しい配列を作る場合の違いです。
array
は、コピーするタイミングを決めるフラグなど、さまざまなオプションを提供します(他のほとんどの関数は、これを薄く包んでいます)。完全な説明は、ドキュメントと同じくらい時間がかかるだろう (
配列の作成
しかし、簡単に説明すると、次のような例があります。
仮定
a
は
ndarray
であり、かつ
m
は
matrix
であり、両者とも
dtype
の
float32
:
-
np.array(a)
とnp.array(m)
は両方をコピーします。これはデフォルトの動作だからです。 -
np.array(a, copy=False)
とnp.array(m, copy=False)
をコピーします。m
でなくa
というのもm
はndarray
. -
np.array(a, copy=False, subok=True)
そしてnp.array(m, copy=False, subok=True)
はどちらもコピーしません。m
はmatrix
のサブクラスであるndarray
. -
np.array(a, dtype=int, copy=False, subok=True)
は両方をコピーします。dtype
は互換性がありません。
その他の関数のほとんどは
array
で、コピーするタイミングを制御します。
-
asarray
: 入力が互換性のあるものであれば、コピーされずに返されます。ndarray
(copy=False
). -
asanyarray
: 入力が互換性のあるものであれば、コピーされずに返されます。ndarray
のようなサブクラスかmatrix
(copy=False
,subok=True
). -
ascontiguousarray
: 入力が互換性のあるものであれば、コピーされずに返されます。ndarray
を連続したC言語の順序で表示します (copy=False
,order='C')
. -
asfortranarray
: 入力が互換性のあるものであれば、コピーされずに返されます。ndarray
をFortranの連続した順序で実行します (copy=False
,order='F'
). -
require
: 指定された要求文字列と互換性がある場合、入力はコピーされずに返されます。 -
copy
: 入力は常にコピーされます。 -
fromiter
: 入力はイテラブルとして扱われます(したがって、例えば、イテレータの要素から配列を構築することができ、代わりにobject
イテレータを持つ配列)、常にコピーされます。
また、次のような便利な関数もあります。
asarray_chkfinite
(と同じコピールール
asarray
しかし
ValueError
がある場合は
nan
または
inf
の値) のようなサブクラス用のコンストラクタがあります。
matrix
やレコード配列のような特殊な場合、そしてもちろん実際の
ndarray
コンストラクタ (バッファ上のストライドから直接配列を作成することができます) を使用します。
関連
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] Pythonの旧スタイルのクラスと新スタイルのクラスの違いは何ですか?
-
[解決済み] pipとcondaの違いは何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】JavaScriptで配列の要素を削除する - delete vs splice
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
Python カメの描画コマンドとその例
-
Python入門 openを使ったファイルの読み書きの方法
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み] データ型が理解できない
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】PILイメージをnumpyの配列に変換する方法は?