Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 通过多个两列创建新的numpy nd数组_Python_Arrays_Numpy_Numpy Ndarray - Fatal编程技术网

Python 通过多个两列创建新的numpy nd数组

Python 通过多个两列创建新的numpy nd数组,python,arrays,numpy,numpy-ndarray,Python,Arrays,Numpy,Numpy Ndarray,我有一个NumPy数组,它包含两列,一列表示key,另一列表示num of instances。例如: key | num_of_instances ---------------------- 99 | 2 88 | 3 77 | 1 我想在此结构中将此阵列平坦化为一维阵列: [99, 99, 88, 88, 88, 77] i、 e.原始2D数组中的每个键都应该出现在新的1D数组中,就像原始数组中第二列中的实例数一样。适合我的解决方案包括使用重复功能。此函数重复数

我有一个NumPy数组,它包含两列,一列表示key,另一列表示num of instances。例如:

 key | num_of_instances
 ----------------------
  99  | 2
  88  | 3
  77  | 1
我想在此结构中将此阵列平坦化为一维阵列:

 [99, 99, 88, 88, 88, 77]

i、 e.原始2D数组中的每个键都应该出现在新的1D数组中,就像原始数组中第二列中的实例数一样。

适合我的解决方案包括使用重复功能。此函数重复数组的元素,并具有一些用于1-D、n-D等的配置选项,如编写的


感谢@user3483203对他的信息性评论。

np.重复(a[:,0],a[:,1]。astype(int))
。您真的不应该将异构数据类型存储在单个数组中,如果需要,可以使用结构化数组。这是最重要的。我将进行编辑以澄清,然后只使用
np。重复(a[:,0],a[:,1])
但我得到错误:
TypeError:无法根据“安全”规则将数组数据从dtype('O')强制转换为dtype('int32')
,那么您无法准确地表示数据。请检查并创建一个。
data = data.astype(str).astype(int) # this line solved the casting type error I tackled before
one_dimension_data = np.repeat(data[:,0],data[:,1])