pandasで最初数行を指定するhead,最後数行を指定するtailには負の数値を与えることもできます。
少々わかりにくいにですが、マイナスの値の場合、反対からその分をマイナスにした残りを返します。
import pandas as pd s = pd.Series([i for i in range(10)]) #デフォルトだとn = 5 s.head() #0,1,2,3,4 s.tail() #5,6,7,8,9 #nを指定するとその分かえってくる s.head(2) #0,1 s.tail(2) #8,9 #nをマイナスにすると逆からその分を抜かした値が帰ってくる #ただし逆順にソートをするわけではない s.head(-8) #0,1 s.tail(-8) #8,9 #逆順にインデックスでソートし、そこから上位nを撮りたい場合 s.sort_index(ascending=False).head(3) #9,8,7 #値でソートしたいなら、sort_valuesを用いる s.sort_values(ascending=False).head(3) #9,8,7