希望一切都好…我正在制作一个数据集馈送到sklearn
分类算法中,但找不到任何简单的数据集开始,所以我自己制作了一个。
但有个问题。。。你知道吗
import numpy as np
import random
type_1 = [random.randrange(0, 30, 1) for i in range(50)]
type_1_label = [1 for i in range(50)]
type_2 = [random.randrange(31, 75, 1) for i in range(50)]
type_2_label = [-1 for i in range(50)]
zipped_1 = zip(type_1, type_1_label)
zipped_2 = zip(type_2, type_2_label)
ready = np.array(zipped_1)
print(ready[1])
这里的问题是,当我用type one压缩type one标签时,输出是一个数组,一个包含两个索引的数组,正如预期的那样,然后我需要将它输入到一个numpy数组中,该数组返回IndexError:数组的索引太多,这对我来说没有意义;因为numpy肯定可以为它的N维数组函数读取2x2数组?任何帮助都将不胜感激!你知道吗
TL;DR
zipped = list(zip(type_1, type_1_label))
你在用Python3吗?在Python2中
zip()
返回一个列表,但在Python3中它返回一个zip对象,当您尝试将它放入ndarray时,这会产生很大的差异。。。你知道吗如您所见,
a
的内容是一个没有维度的对象。你知道吗如何访问内部对象?您可以添加一个额外的轴,然后像往常一样索引
这很有趣,我听到你说。。。但是当
zip
返回一个列表,并且numpy
对它感到满意时,我怎么能有这种旧的行为呢?你知道吗在Python3中,您必须显式地转换为列表
然后一切照常进行。你知道吗
因此,可以直接创建所需的NumPy数组:
我不知道您的python版本和其他环境细节,但我猜这就是问题所在。你的代码对我很有用-
输出此。。。你知道吗
我有python2.7anaconda发行版
相关问题 更多 >
编程相关推荐