2017-09-06 70 views
-1

我擁有從每個熊貓系列中選擇的熊貓系列和索引數組。熊貓系列爲變量的每個值應用函數

這是一個玩具數據。

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]) 

但是,這是行不通的。

有沒有一種有效的方法來處理?

我有大量的數據,所以我需要一個有效的方法。

+0

請使用代碼解釋「我試過使用apply函數但失敗了」。手段。 –

+0

我不會在應用中使用out變量。所以,我用這個。 row.apply(lambda x,index:x [index:index + 2]) – kanghyuk

+0

現在解釋一下(在你的問題中,做得很好),你的意思是「它沒有工作」。嘗試添加一些你認爲不起作用的分析。 –

回答

0

您可以使用zip與普通的列表理解;

[r[i:i+2] for i, r in zip(index, row)] 
Out[127]: 
[[1, 2], [3, 4], [3, 4]]