2017-05-08 73 views
2

我有一個numpy的陣列如下:如何在熊貓數據框架中獲得numpy數組索引相當於?

array([[1, 2], 
      [3, 4], 
      [5, 6], 
      [7, 8]]) 

該數組名爲myArray,和我進行二維數組的兩個索引操作,並得到如下結果:

In[1]: a1 = myArray[1:] 
      a1 

    Out[1]:array([[3, 4], 
       [5, 6], 
       [7, 8]]) 


    In[2]: a2 = myArray[:-1] 
      a2 

    Out[2]:array([[1, 2], 
        [3, 4], 
        [5, 6]]) 

現在,我在兩列中有熊貓df形式的相同數據,讓數據幀爲df

 x y 
    0 1 2 
    1 3 4 
    3 5 6 
    4 7 8 

t o對兩列進行等效的索引/切片,以獲得與上述a1和a2相同的結果。

+0

您可以使用'df.values'訪問底層numpy的對象。 –

回答

1

使用iloc

df.iloc[1:] 

# x y 
#1 3 4 
#3 5 6 
#4 7 8 

df.iloc[:-1] 

# x y 
#0 1 2 
#1 3 4 
#3 5 6 

使用head/tail

df.head(-1)  # equivalent to df.iloc[:-1] 

# x y 
#0 1 2 
#1 3 4 
#3 5 6 

df.tail(-1)  # equivalent to df.iloc[1:] 

# x y 
#1 3 4 
#3 5 6 
#4 7 8 
+0

如果df中有更多列,那麼該怎麼辦?我只想在「x」和「y」列上得到結果。我知道我可以在索引後刪除這些列,但有沒有辦法只對選定的列進行索引? – Liza

+0

'df [['x','y']]。iloc [1:]'?這是你想要的? – Psidom

+0

非常感謝,這是我想要的。 – Liza

相關問題