考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

arr = np.array([[]]),下列操作结果一样的有()
A. np.split(arr,2)
B. np.split(arr,2,axis = 0)
C. np.vsplit(arr,2)
D. np.hsplit(arr,2)
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

对于给定的数组 `arr = np.array([[]])`,它是一个形状为 `(1, 0)` 的二维数组,即有 1 行和 0 列。

我们来分析每个操作:

A: `np.split(arr, 2)`
默认情况下,`np.split` 沿着第一个轴(`axis=0`)分割数组。由于 `arr` 只有 1 行,它无法被分成 2 个部分,因此会抛出一个 `ValueError`。

B: `np.split(arr, 2, axis=0)`
这与 A 相同,因为它明确指定了沿着行(第 0 轴)分割。由于只有 1 行,无法分割成 2 个部分,会抛出 `ValueError`。

C: `np.vsplit(arr, 2)`
`np.vsplit` 是沿着垂直方向(即第 0 轴)分割数组的快捷方式,因此与 B 相同。由于只有 1 行,无法分割成 2 个部分,会抛出 `ValueError`。

D: `np.hsplit(arr, 2)`
`np.hsplit` 是沿着水平方向(即第 1 轴)分割数组。对于形状为 `(1, 0)` 的数组,虽然列数为 0,但从技术上来说,它可以被分割成 2 个空的子数组。结果将是两个形状为 `(1, 0)` 的数组。

综上所述,只有 D 是有效的操作,不会抛出错误。因此,答案是:D。