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]])
Run Code Online (Sandbox Code Playgroud)
我想删除第二行的值为null的列.在这里,我想删除列0,2,4,6和9,以获取此数组:
array([[ 1, 0, 5, 7, 8 ],
[ 11, 13, 15, 17, 18 ]])
Run Code Online (Sandbox Code Playgroud)
我试过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]
Run Code Online (Sandbox Code Playgroud)
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]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18662 次 |
| 最近记录: |