G F*_*G F 4 python arrays numpy multidimensional-array numpy-ndarray
从以下数组:
test = np.array([[1,2,'a'],[4,5,6],[7,'a',9],[10,11,12]])
Run Code Online (Sandbox Code Playgroud)
如何删除包含"a"的行?预期结果 :
array([[ 4, 5, 6],
[10, 11, 12]])
Run Code Online (Sandbox Code Playgroud)
注意,numpy支持矢量化比较:
>>> test
array([[1, 2, 'a'],
[4, 5, 6],
[7, 'a', 9],
[10, 11, 12]], dtype=object)
>>> test == 'a'
array([[False, False, True],
[False, False, False],
[False, True, False],
[False, False, False]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
现在,你想要的行,其中所有不equalt到'a':
>>> (test != 'a').all(axis=1)
array([False, True, False, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
因此,只需选择带掩码的行:
>>> row_mask = (test != 'a').all(axis=1)
>>> test[row_mask,:]
array([[4, 5, 6],
[10, 11, 12]], dtype=object)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2048 次 |
| 最近记录: |