很难描述这个问题,但是下面的代码应该可以澄清。 基本上我从一个数组开始,其中第一个元素是另一个 N 大小的数组。 数组的其余部分是单个元素。我想为每个部分分割第一个元素 a,用数组的其余部分填充:
import pandas as pd, numpy as np
data = [['100', '200', '300', '400'],
'val1',
'val2',
]
ids = np.array_split(data[0], 2)
new_array = []
for id in ids:
data[0] = id
new_array.append(data[:])
new_array
所以我最终得到这个:
[[['100', '200'], 'val1', 'val2'],
[['300', '400'], 'val1', 'val2']]
这是执行此操作的最佳方法,对于非常大的数组来说也很快吗?
创建目标对象 dtype 数组
res = np.empty(2,3, dtype=object)
从
data[0]
填写
res[:,0] = data[0].reshape(2,-1)
用广播补充休息
res[:,1:] = data[1:] # (2,)=>(1,2)=>(2,2)
我还没有测试过这个;只是想在脑海中描绘出这个动作。需要概括精确的形状。