我有从每个pandas系列中选择的pandas系列和索引数组。
这是玩具数据。
index = np.array([0,1,0])
row = pd.Series([np.array([1,2,3]),np.array([2,3,4]),np.array([3,4,5])])
我希望从玩具数据上方处理数据,如下所示。
[row.iloc[0][0:0+2],
row.iloc[1][1:1+2],
row.iloc[2][0:0+2]]
[array([1, 2]), array([3, 4]), array([3, 4])]
我尝试使用像
这样的应用功能row.apply(lambda x, index: x[index:index+2])
但是,它不起作用。
有没有一种有效的方法来处理它?</ p>
我有大量数据,所以我需要一种有效的方法。
答案 0 :(得分:0)
您可以将zip
与简单列表理解结合使用;
[r[i:i+2] for i, r in zip(index, row)]
Out[127]:
[[1, 2], [3, 4], [3, 4]]