def split_dataset(dataset, axis, value):
    """
    按照特定特征划分数据集
    :param dataset: 待划分的数据集, 2d array
    :param axis: 划分数据集的特征
    :param value: 需要返回的特征的值
    :return: 返回划分后的数据
    """
    rest_dataset = []
    # 遍历数据集
    for feature_vector in dataset:
        if feature_vector[axis] == value:
            # 去掉axis特征
            # 首先保存axis特征之前的元素
            reduced_feature_vector = feature_vector[:axis]
            # 将axis特征之后的元素数据添加到临时变量中
            reduced_feature_vector.extend(feature_vector[axis + 1:])
            # 经过以上两步操作，已经将axis位置的元素去掉，并保存为新的变量中，此时将该变量添加到列表中
            rest_dataset.append(reduced_feature_vector)

    return rest_dataset