Dir*_*aul 5 python indexing numpy python-2.7
当我进行 numpy 索引时,有时索引可能是一个空列表,这样我希望 numpy 也返回一个空数组。例如:
\n\na = np.array([1, 2, 3])\n\nb = []\n\nprint a[b]\nRun Code Online (Sandbox Code Playgroud)\n\n这工作得很好!当结果给我时:
\n\nresult:[]\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我使用 ndarray 作为索引器时,奇怪的事情发生了:
\n\na = np.array([1, 2, 3])\n\nb = []\n\nc = np.array(b)\n\nprint a[c]\nRun Code Online (Sandbox Code Playgroud)\n\n这给了我一个错误:
\n\nIndexError: arrays used as indices must be of integer (or boolean) type\nRun Code Online (Sandbox Code Playgroud)\n\n但是,当我这样做时:
\n\na = np.array([1, 2, 3])\n\nb = []\n\nd = np.arange(0, a.size)[b]\n\nprint a[d]\nRun Code Online (Sandbox Code Playgroud)\n\n然后它再次完美运行:
\n\nresult:[]\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我检查 c 和 d 的类型时,它们返回相同的!甚至形状和一切:
\n\nprint type(c), c.shape\n\nprint type(d), d.shape\n\nresult\xef\xbc\x9a<type 'numpy.ndarray'> (0L,)\n\nresult\xef\xbc\x9a<type 'numpy.ndarray'> (0L,)\nRun Code Online (Sandbox Code Playgroud)\n\n所以我想知道这是否有什么问题?为什么 a[c] 不起作用但 a[d] 起作用?你能为我解释一下吗?谢谢你!
\n| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |