【python-numpy】指定した行or列を丸ごと削除!np.deleteの使い方!

f:id:yshgs_elec:20210113221557j:plain

「配列中の、指定した行(列)を丸ごと削除したい。」

pythonでデータ整理を行っていると、このような状況にでくわすことがあるのではないでしょうか?

 

この記事では、このような状況を一瞬で解決できる

np.deleteの使い方を解説しています。

 

初心者向けに事例を交えて解説していきますので、ぜひ最後までご覧ください。

 

それでは早速やっていきます!

スポンサーリンク

np.deleteの使い方

numpyで指定した行or列を削除するためには、np.deleteというスキルを活用します。

 

np.deleteの基本的な使い方は以下の通りです。

◆np.deleteの使い方

変数=np.delete(A,B,C)

〇変数:処理後の配列の名前

〇A:処理対象となる配列名

〇B:何行目(何列目)を削除するか

〇C:0 or 1 ⇒0:行を削除 1:列を削除

※Bで指定する行(列)は一行目を0として考えますのでご注意ください。また、ここでの指定は複数まとめてでも可能です。やり方は後程説明します。

 

とはいえ、これだけではイメージがわかないと思いますので、実際の使用例を見ていきましょう。

スポンサーリンク

np.deleteの使用例

以下の画像が実際にnp.deleteをある行列に適用したときの結果になります。

※今回はanacondaプロンプト上でpythonを起動して操作した際の画面をご紹介します。

 

それでは実行サンプルの紹介に移ります。

サンプル①:指定した1行を削除する

np.deleteを使った実際に使っている様子

以下のnp.deleteの基本的な使いかたに当てはめてみると、このサンプルでは、ベースとなる配列の2行目を削除しろ、という命令を行っています。

 

◆np.deleteの使い方

変数=np.delete(A,B,C)

〇変数:処理後の配列の名前

〇A:処理対象となる配列名

〇B:何行目(何列目)を削除するか(0=1番目)

〇C:0 or 1 ⇒0:行を削除 1:列を削除

出力された結果を見ると、しっかりベースとなる配列から2行目が取り除かれていますね。

 

サンプル②:指定した複数行を削除する

np.deleteを使った実際に使っている様子

複数行削除する場合でも基本は同じです。

 

以下のBの項目で指定する行を[*,*]という形で複数指定してあげるだけです。

◆np.deleteの使い方

変数=np.delete(A,B,C)

〇変数:処理後の配列の名前

〇A:処理対象となる配列名

〇B:何行目(何列目)を削除するか(0=1番目)

〇C:0 or 1 ⇒0:行を削除 1:列を削除

出力された結果を見ると、しっかりベースとなる配列から2行目と4行目が取り除かれていますね。

 

サンプル③:指定した1列を削除する

np.deleteを使った実際に使っている様子

基本的には先ほど説明した行を削除するパターンから、以下のCの項目を0から1に書き換えただけです。

 

これで列を削除しろ!という命令に変わります。

◆np.deleteの使い方

変数=np.delete(A,B,C)

〇変数:処理後の配列の名前

〇A:処理対象となる配列名

〇B:何行目(何列目)を削除するか(0=1番目)

〇C:0 or 1 ⇒0:行を削除 1:列を削除

 

出力結果を見ていただくと、しっかり2列目が削除されていますね。

 

サンプル④:指定した複数列を削除する

np.deleteを使った実際に使っている様子

ここまで真面目に読んだ人にとってもはや説明不要でしょう。

 

結果をさらっとご確認ください。

 

スポンサーリンク

おわりに

というわけで今回はpythonのnumpyを使って、配列の指定した行(列)をまるごと削除する方法をご紹介しました。

 

pythonはAI開発にも用いられている、最近人気のプログラミング言語です。

少しずつでもpythonスキルを高め、社内での地位を高めていきましょう。

 

このように私のブログでは様々なプログラミングスキルを紹介しています。

・もっと革新的なことをやりたい。

・プログラミングについてもっと詳しくなりたい。

こんな思いを持っている人は、ぜひ他の記事も見てみてくださいね。

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました