Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为列表的不同部分指定标签_Python_List_Numpy_Concatenation - Fatal编程技术网

Python 为列表的不同部分指定标签

Python 为列表的不同部分指定标签,python,list,numpy,concatenation,Python,List,Numpy,Concatenation,我有以下清单: a = numpy.array([1,2,3,4,5,6]) 我只需将值1,2,3一起分配到标签0,以及4,5,6标签1 我想到的第一件事是,但我不知道如何在我的案例中使用它 有什么想法吗 谢谢。您可以先将numpy数组转换为列表,然后收集索引和子网站,然后将它们添加到字典中: >>> import numpy as np >>> a = np.array([1,2,3,4,5,6]).to_list() >>> a [1,

我有以下清单:

a = numpy.array([1,2,3,4,5,6])
我只需将值
1,2,3
一起分配到标签
0
,以及
4,5,6
标签
1

我想到的第一件事是,但我不知道如何在我的案例中使用它

有什么想法吗


谢谢。

您可以先将numpy数组转换为列表,然后收集索引和子网站,然后将它们添加到字典中:

>>> import numpy as np
>>> a = np.array([1,2,3,4,5,6]).to_list()
>>> a
[1, 2, 3, 4, 5, 6]
>>> ind = [0, 1]
>>> sublists = [a[i:i+3] for i in range(0, len(a), 3)]
>>> sublists
[[1, 2, 3], [4, 5, 6]]
>>> d = dict(zip(ind, sublists))
>>> d
{0: [1, 2, 3], 1: [4, 5, 6]}
>>> d[0]
[1, 2, 3]
>>> d[1]
[4, 5, 6]

听起来你在寻找这样的东西:

In [30]: a = np.array([1,2,3,4,5,6])

In [31]: labels = np.empty(len(a))

In [32]: labels[np.in1d(a, [1,2,3])] = 0

In [33]: labels[np.in1d(a, [4,5,6])] = 1

In [34]: result = np.vstack((a, labels)).T

In [35]: result
Out[35]: 
array([[ 1.,  0.],
       [ 2.,  0.],
       [ 3.,  0.],
       [ 4.,  1.],
       [ 5.,  1.],
       [ 6.,  1.]])

您是否希望使用如下命令:
{0:[1,2,3],1:[4,5,6]}