【发布时间】:2019-03-10 22:26:26
【问题描述】:
我正在编写以下 Python 代码。
我希望完成以下工作:
- 创建一个
total_fold_array,它将容纳 5 个项目(折叠) - 对于每个折叠,根据我的
for...zip循环内部的逻辑(我知道这是正确的)从更大的数据集中创建一个数据数组
为了帮助您理解:
classes 和 class_weights 返回:
[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0] 和 [0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714
0.14285714]
while count !=6 工作不正常。简而言之,我想要完成的是用 5 个单独的折叠填充 total_fold_array,每个折叠都包含数据集中的许多行。
current_fold_array 的一个示例可能是 [A,B,C,D],所以最终,我有一个 total_fold_array,其中有 5 个单独的折叠,看起来像 [[A,B,C,D,],[A,B,B,C],[A,A,A,A],[B,C,D,D],[B,B,B,C]]
但是,此循环不会这样做。相反,它创建 total_fold_array 的长度与 classes 的长度相同(在本例中为 7),而不是在其中包含 5 个折叠。
我的代码如下:
我目前得到一个包含 7 个项目的 total_fold_array,而它应该包含 5 个。其中的每个项目可以根据需要包含任意数量的项目,但 total_fold_array 的长度应该是 5 个项目。我相信我的代码中存在逻辑错误,我正在寻求帮助。如果我要使用具有 5 个类的数据集,则此方法可以正常工作。
如果我需要更清楚地说明这一点,请告诉我。
【问题讨论】:
-
count = count + 1是否正确缩进?最后两行的缩进看起来也很可疑。 -
不确定@wwii。我尝试将它们向上移动 1 层,然后将
total_fold_array的大小设为 1,所以我不知道这是否有帮助。
标签: python python-3.x numpy for-loop