はじめに
今回は、初歩的な内容ですが、headメソッドとtailメソッドについて掘り下げてみます。
いきなり結論
サクッと動作確認
コードを変更しても実行できるので、色々と試して見てください!
コード全体
import pandas as pd
df = pd.read_csv('achievement.csv')
# 上から3行だけ抜き出して表示
print(df.head(3))
print('\n==============================================\n')
# 下から7行だけ抜き出して表示
print(df.tail(3))
print('\n==============================================\n')
# 4行目から最終行までを抜き出して表示
print(df.tail(-3))
解説
挙動については、以下の通りです。
- headメソッドは上から、tailメソッドは下から、それぞれ数行のデータをDataFrameから抜き出す。
- 非破壊的関数で、元のDataFrameは変更されない。
- 引数に渡した数値の行数だけ、DataFrameからデータを抜き出す。
- 引数に何も渡さなければ、デフォルトとして5行のデータを抜き出す。
- 引数に0を渡すと、カラムだけ存在する空のDataFrameとして抜き出された状態になる。
- 引数にマイナスの数値を渡すと、以下のようなややこしい挙動となる。
- head(-1)とした場合は、1行目〜最後から1行目までのデータを抜き出す。
- head(-2)とした場合は、1行目〜最後から2行目までのデータを抜き出す。
- tail(-3)とした場合は、最終行〜最初から3行目までのデータを抜き出す。(順番は元のまま)
マイナスの数値を渡した場合の挙動がややこしいですが、先頭から末尾からという条件は変わらないんですね。
上の動作確認で色々と試してみてください!
さいごに
今回は、かなり初歩的なことでしたが、掘り下げてみると面白い挙動が確認できたりするもんですね!
また本記事についてツッコミあれば、Twitter等でご連絡お待ちしております!
最後まで読んで頂いて、ありがとうございました。