logo

ジュリアでデータフレームの最初と最後の部分を表示する方法 📂ジュリア

ジュリアでデータフレームの最初と最後の部分を表示する方法

概要

ジュリアのデータフレームには headtail 関数がない。他の言語に比べてもう一度手を動かす必要があり面倒だが、firstlast 関数を使えばいい。なぜ DataFrames.jl は業界の慣習を無視して頑固にしているのか。その理由は大まかに次のように要約できる1:

  1. すでに BaseBase.tail という関数が存在し、衝突を避けたい。
  2. headtail 以前に firstlast がすでに同じ目的で実装されていた。
  3. 関数の名前はなるべく短くするのが良く、headtail はあまりにも普遍的で短い。

コード

using DataFrames

df = DataFrame(reshape(1:100, :, 5), :auto)

first

julia> first(df, 3)
3×5 DataFrame
 Row │ x1     x2     x3     x4     x5    
     │ Int64  Int64  Int64  Int64  Int64
─────┼───────────────────────────────────
   1 │     1     21     41     61     81
   2 │     2     22     42     62     82
   3 │     3     23     43     63     83

last

julia> last(df, 10)
10×5 DataFrame
 Row │ x1     x2     x3     x4     x5    
     │ Int64  Int64  Int64  Int64  Int64
─────┼───────────────────────────────────
   1 │    11     31     51     71     91
   2 │    12     32     52     72     92
   3 │    13     33     53     73     93
   4 │    14     34     54     74     94
   5 │    15     35     55     75     95
   6 │    16     36     56     76     96
   7 │    17     37     57     77     97
   8 │    18     38     58     78     98
   9 │    19     39     59     79     99
  10 │    20     40     60     80    100

第二引数を省略するとデフォルトとして一行だけを表示する。

julia> last(df)
DataFrameRow
 Row │ x1     x2     x3     x4     x5    
     │ Int64  Int64  Int64  Int64  Int64
─────┼───────────────────────────────────
  20 │    20     40     60     80    100

環境

  • OS: Windows
  • julia: v1.11.1
  • DataFrames v1.7.0