gpt4 book ai didi

python - 从 numpy 数组中删除选择索引处的行

转载 作者:太空狗 更新时间:2023-10-30 02:03:37 26 4
gpt4 key购买 nike

在我的数据集中,我有接近 200 行,但对于最小的工作,例如,让我们假设以下数组:

arr = np.array([[1,2,3,4], [5,6,7,8], 
[9,10,11,12], [13,14,15,16],
[17,18,19,20], [21,22,23,24]])

我可以按如下所示随机抽取 3 行:

indexes = np.random.choice(np.arange(arr.shape[0]), int(arr.shape[0]/2), replace=False)

使用这些索引,我可以按如下方式选择我的测试用例:

testing = arr[indexes]

我想删除这些索引处的行,我可以将剩余的元素用于我的训练集。

来自帖子 here ,似乎 training = np.delete(arr, indexes) 应该这样做。但是我得到的是一维数组。

我也尝试了建议 here使用 training = arr[indexes.astype(np.bool)] 但它没有给出清晰的分离。我在训练和测试集中都得到元素 [5,6,7,8]。

training = arr[indexes.astype(np.bool)]

testing
Out[101]:
array([[13, 14, 15, 16],
[ 5, 6, 7, 8],
[17, 18, 19, 20]])

training
Out[102]:
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])

知道我做错了什么吗?谢谢。

最佳答案

从 numpy 数组中删除索引行:

arr = np.delete(arr, indexes, axis=0)

关于python - 从 numpy 数组中删除选择索引处的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30340628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com