TypeError:尝试在训练和测试集中随机拆分数据

时间:2019-04-12 18:47:28

标签: python-3.x numpy typeerror

我想将混洗数据的前70%作为训练数据,将其余作为测试数据,但是我收到了这个奇怪的错误。

我看过其他带有该错误的代码示例,但是抱歉,没有。

import numpy as np

segment_relative_path = ["a", "b", "c", "d", "e", "f"]
idx = np.random.permutation(len(segment_relative_path))
train_data = segment_relative_path[idx[:int(0.7*len(idx))]]

这给出了:

TypeError:只能将整数标量数组转换为标量索引。

为了避免该错误,我需要更改什么?

1 个答案:

答案 0 :(得分:0)

您正在尝试将索引数组用于列表。列表仅接受标量整数索引。 但是,如果将 segment_relative_path 转换为数组,它将起作用:

import numpy as np

segment_relative_path = ["a", "b", "c", "d", "e", "f"]
idx = np.random.permutation(len(segment_relative_path))
train_data = np.array(segment_relative_path)[idx[:int(0.7*len(idx))]]