Gun*_*eva -3 python arrays numpy
假设我有如下 3d numpy 数组:
arr = np.ndarray(shape = (3,3,3), dtype=np.float32)
array([[[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38]],
[[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38]],
[[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38]]], dtype=float32)
Run Code Online (Sandbox Code Playgroud)
我希望能够从此数组中删除任意行。例如,如果我想删除第一行,我想得到以下数组:
array([[[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38]],
[[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38],
[2.3694278e-38, 2.3694278e-38, 2.3694278e-38]]], dtype=float32)
Run Code Online (Sandbox Code Playgroud)
但是这个问题不仅仅是要删除第一行。我希望能够删除我想要的行。我尝试了np.delete()函数,但无法完全得到我想要的。有人可以展示如何做到这一点吗?
你可以试试:
x = np.delete(arr, 0, axis=0)
Run Code Online (Sandbox Code Playgroud)
第一个数组(arr):
[[[-3.5406988e-10 4.5735579e-41 4.8186282e-38]
[ 0.0000000e+00 -2.4307778e-10 4.5735579e-41]
[-2.2672175e-10 4.5735579e-41 -5.2388177e-11]]
[[ 4.5735579e-41 -1.2597114e-09 4.5735579e-41]
[-1.2705312e-09 4.5735579e-41 -2.1648838e-10]
[ 4.5735579e-41 -2.4543772e-19 4.5735579e-41]]
[[-2.4543917e-19 4.5735579e-41 -6.6015360e-11]
[ 4.5735579e-41 -2.4544351e-19 4.5735579e-41]
[-2.4199687e-10 4.5735579e-41 -1.2076065e-09]]]
Run Code Online (Sandbox Code Playgroud)
新数组(x):
[[[ 4.5735579e-41 -1.2597114e-09 4.5735579e-41]
[-1.2705312e-09 4.5735579e-41 -2.1648838e-10]
[ 4.5735579e-41 -2.4543772e-19 4.5735579e-41]]
[[-2.4543917e-19 4.5735579e-41 -6.6015360e-11]
[ 4.5735579e-41 -2.4544351e-19 4.5735579e-41]
[-2.4199687e-10 4.5735579e-41 -1.2076065e-09]]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3025 次 |
| 最近记录: |