1. ホーム
  2. python

[解決済み] numpy.arrayのカラムを削除する方法

2023-03-24 23:02:07

質問

numpy.arrayで選択された列を削除したいです。これは私が行うことです。

n [397]: a = array([[ NaN,   2.,   3., NaN],
   .....:        [  1.,   2.,   3., 9]])

In [398]: print a
[[ NaN   2.   3.  NaN]
 [  1.   2.   3.   9.]]

In [399]: z = any(isnan(a), axis=0)

In [400]: print z
[ True False False  True]

In [401]: delete(a, z, axis = 1)
Out[401]:
 array([[  3.,  NaN],
       [  3.,   9.]])

この例では、私の目標はNaNを含むすべての列を削除することです。私は最後のコマンドを期待しています の結果になります。

array([[2., 3.],
       [2., 3.]])

どうすればいいのでしょうか?

どのように解決するのですか?

この名前からすると、標準的な方法としては delete :

import numpy as np

A = np.delete(A, 1, 0)  # delete second row of A
B = np.delete(B, 2, 0)  # delete third row of B
C = np.delete(C, 1, 1)  # delete second column of C

によると numpyのドキュメントページ のパラメータは numpy.delete のパラメータは以下の通りです。

numpy.delete(arr, obj, axis=None)

  • arr は入力配列を参照します。
  • obj はどのサブ配列(例:配列の列/行番号やスライス)を指すか、そして
  • axis は、列単位で ( axis = 1 ) または行単位で ( axis = 0 ) の削除操作。