按发生的顺序得到一个numpy数组

2024-09-28 22:17:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用火车测试分离。我的训练集X[]是一个文件路径数组。然后我有另一个数组y[],它由一个热编码标签组成。它们由数组行索引关联。如果我通过X,它看起来是这样的:

索引路径

4,数据\djip2\djip2.5844MHz.10MSPS.fc32文件2016年7月1日

20,数据\taigentank\USRP-2 GHz-1MSps-1MHzTaigentank 1_0000000000000.npy

2,数据\866\U 300\U 1\USRP-866\U 300MHz-1MSps-1MHz\U lte\U 1\U 000000000002.npy

y[]看起来像这样:

索引标签

4000000001个

20000万10

2010万

这些数组在随机化后被传递给批处理生成器。 在批处理生成器中,我需要确保每个X数组值都可以映射回y[]数组标签。你知道吗

所以,我希望能够得到X数组索引,它们现在是以随机顺序排列的,比如:

2,路径

4,路径

20,路径

并按此顺序传递给另一个函数。我需要索引,因为我需要传递路径及其相关标签。有没有一个简单的方法可以用numpy做到这一点?你知道吗


Tags: 文件数据路径编码标签数组usrpnpy
1条回答
网友
1楼 · 发布于 2024-09-28 22:17:58

一种解决方案可能是:

n = range(numberOfInstances)

它创建了一个整数列表,如[0,1,2,3,4…numberOfInstances-1]。然后洗牌

random.shuffle(n)

将此列表另存为numpy数组

n_np = np.array(n)

最后重新整理你的数据和事实

y = y[n_np]
x = x[n_np]

它应该以相同的方式对两个数组重新排序。你知道吗

我认为这有助于:)!我有点困惑为什么你有一个无序的ID序列,不知何故又被洗牌了。。。。你知道吗

相关问题 更多 >