use*_*697 7 python arrays numpy
最重要的是,抱歉我的英语不好.
我有这个数组t:
array([[ 0,  1,  2,  0,  4,  5,  6,  7,  8,  9],
       [ 0, 11,  0, 13,  0, 15,  0, 17, 18,  0]])
我想删除第二行的值为null的列.在这里,我想删除列0,2,4,6和9,以获取此数组:
array([[  1,   0,   5,   7,  8 ],
       [ 11,  13,  15,  17, 18 ]])
我试过np.sum()但没有成功.
Eel*_*orn 16
与Juh_类似,但更具表现力,并避免一些不必要的性能开销.总共12个高度pythonic,显性和unambigious字符.这真的是numpy 101; 如果你还在试图绕过这个问题,你可以通过阅读一个简单的底漆来帮助自己.
import numpy as np
a = np.array([[ 0,  1,  2,  0,  4,  5,  6,  7,  8,  9],
              [ 0, 11,  0, 13,  0, 15,  0, 17, 18,  0]])
print a[:,a[1]!=0]
a = np.array([[0, 1, 2, 0, 4, 5, 6, 7, 8, 9], [0, 11, 0, 13, 0, 15, 0, 17, 18, 0]])
indices = [i for (i,v) in enumerate(a[1]) if v==0]
# [0, 2, 4, 6, 9]
a = np.delete(a, indices, 1)
# array([[ 1,  0,  5,  7,  8], [11, 13, 15, 17, 18]])
| 归档时间: | 
 | 
| 查看次数: | 18662 次 | 
| 最近记录: |