あれもPython,これもPython

Pythonメモ※本サイトはアフィリエイトを利用しています

Pandasのhead,tailで表示しない行を指定する(n=-xを用いる)

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