datatableによるデータの読み込み

R で最高速なデータ読み込みライブラリ data.table を Python に移植した datatable パッケージがある(参考1参考2)。pip install datatable でインストールできる。

M1 Mac 用のバイナリはまだない。最新のソースを取ってきてコンパイルすることはできた:

  
git clone https://github.com/h2oai/datatable.git             
cd datatable
# Makefile の PYTHON ?= python を PYTHON ?= python3 に直す
make build
# src/datatable/lib/_datatable.cpython-310-darwin.so ができればOK
# ~/Library/Python/3.10/lib/python/site-packages/easy-install.pth に
# /.../database/src を追記
pip install pytest  # requirements_*.txt を見て欠けているものを入れる
make test

残念ながらいくつかのテストに失敗する。

使い方:

import datatable as dt

dfr = dt.fread("hoge.csv")
dfr.head()  # 頭だけ見る
df = dfr.to_pandas()  # pandasのデータフレームに変換
a = dfr.to_numpy()    # numpyの配列に変換

次のものが使える:

dfr.append         dfr.cbind          dfr.colindex       dfr.copy           dfr.countna
dfr.countna1       dfr.head           dfr.key            dfr.keys           dfr.ltypes
dfr.materialize    dfr.max            dfr.max1           dfr.mean           dfr.mean1
dfr.min            dfr.min1           dfr.mode           dfr.mode1          dfr.names
dfr.ncols          dfr.ndims          dfr.nmodal         dfr.nmodal1        dfr.nrows
dfr.nunique        dfr.nunique1       dfr.rbind          dfr.replace        dfr.save
dfr.scalar         dfr.sd             dfr.sd1            dfr.shape          dfr.sort
dfr.stypes         dfr.sum            dfr.sum1           dfr.tail           dfr.to_csv
dfr.to_dict        dfr.to_jay         dfr.to_list        dfr.to_numpy       dfr.to_pandas
dfr.to_tuples      dfr.view