このコードをもっと簡単にする可能性があれば、本当にありがたいです!ゼロのある行を削除しようとしています。最初の列は日付です。他のすべての列がゼロの場合、それらを削除する必要があります。列の数は異なります。
import numpy as np
condition = [ np.any( list(x)[1:] ) for x in r]
r = np.extract( condition, r )
このコードをもっと簡単にする可能性があれば、本当にありがたいです!ゼロのある行を削除しようとしています。最初の列は日付です。他のすべての列がゼロの場合、それらを削除する必要があります。列の数は異なります。
import numpy as np
condition = [ np.any( list(x)[1:] ) for x in r]
r = np.extract( condition, r )
リスト内包表記を回避し、代わりに派手な索引付けを使用できます。
#!/usr/bin/env python
import numpy as np
import datetime
r=np.array([(datetime.date(2000,1,1),0,1),
(datetime.date(2000,1,1),1,1),
(datetime.date(2000,1,1),1,0),
(datetime.date(2000,1,1),0,0),
])
r=r[r[:,1:].any(axis=1)]
print(r)
# [[2000-01-01 0 1]
# [2000-01-01 1 1]
# [2000-01-01 1 0]
rがndarrayの場合、r [:、1:]は最初の列が削除されたビューです。r [:、1:]。any(axis = 1)はブール配列であり、「ファンシーインデックス」として使用できます。