今回はPythonのライブラリであるpandasの使い方をご紹介します。

pandasは行列演算が得意なライブラリでデータサイエンティストの方々から熱い支持を受けている優れものです。

今後、Pythonを使ったデータ分析などを行う際には大活躍しますので、基本的な使い方だけでもここで覚えておきましょう。

pandasの使い方

では実際にpandasを使いながら学習していきましょう。

pandasは2種類のデータ形式を持っています。一次元データのSeriesと、二次元データのDataFrameです。pandasはデータをまるでエクセルの様に扱う事ができると有名なライブラリなので、大抵の場合はDataFrameを使用するのではないでしょうか。

ライブラリのインポート

最初にpandasのインポート方法だけ説明します。といっても非常に簡単で、以下の様に書けばOKです。

■Pythonコード

※as pd というのはメソッドを使用する時の別名です。pandasでもそんなに長い名前じゃないので良いのですが、みなさんpdと書くのが風習になっています。当然 as pdの文言が無くとも使用可能です

pandasの基本的な使い方

では簡単ではありますがサンプルと共にpandasの使い方を見ていきましょう。

Seriesの使い方

まずは基本操作としてSeriesを使ってみましょう。以下のコードを見てみて下さい

■Pythonコード

■実行結果

左端はindexを表わしていて、右がデータになります。データの扱いは配列・リストと変わりません。

DataFrameの使い方

■Pythonコード

■実行結果

DataFrameで作成した対象カラムのデータを取得

上記のDataFrameで使用したコードの一部(最後のprint)を以下の様に変更しましょう。

■Pythonコード(print文のみ)

■実行結果

カラムの情報だけを抜き出す事ができました。

データの内容を参照する

さて、もう少しpandasで遊んでみましょう。DataFrameの中から条件にマッチするものだけを表示してみます。

SQLなどの使用に慣れている方は、とりあえずデータを覗くために「先頭の10行だけ表示する」といったスクリプトを書く事があるのではないでしょうか。

そういったスクリプトと同じ事をやってみます。

まずは元になるデータを作成します。

■Pythonコード

■実行結果

ものすごく単純なデータです。

DataFrameの先頭○○行を表示する

基本構文:df.head()

表示対象を「df」ではなく、「df.head()」としてみましょう。※引数として行数を指定できます。デフォルトは5行です。

■Pythonコード(print文のみ)

■実行結果

先頭5行だけ表示されていますね。

DataFrameの最後の○○行を表示する

基本構文:df.tail()

次は逆に最後の2行を表示しましょう。こちらは引数を実際に指定してみます。

■Pythonコード(print文のみ)

■実行結果

こちらも簡単ですね。

仮想通貨のOHLCデータをDataFrameに入れてみる

このサイトではシステムトレードや仮想通貨BOTに関する情報も載せています。ここでテクニカルチャートで使用する価格データ(OHLC)もDataFrameに入れてみましょう。

処理の簡単な流れは以下の通りです。

1)OHLCデータ(日足)をAPIで取得する

2)for文で一度ワークの配列に入れる。

3)その配列をDataFrameに設定する。

4)DataFrameの先頭10行を表示する。

では実際にプログラムを見てみましょう。

■Pythonコード

■実行結果

いかがでしょうか。OHLCデータについての知識がないと何のデータかよく分からないかもしれませんが、このデータがあればローソク足を描画する事も簡単にできてしまいます。

エクセルやSQLの操作にも似ているので、Pythonで同じ様な処理をしようと思ったら簡単に実現できます。

pandasのDataFrameは非常に便利なのです。

まとめ

さて、非常に簡単ではありますが、pandasの基本操作をやってみました。実際に実行してみるとエクセルやSQLなどと同じ様に扱えるイメージがついたのではないでしょうか。

pandasの機能は非常に多いのでここで多くは語りませんが、今後使う機会がたくさんあると思うので、なんとなくの動作だけでもイメージしておいて下さいね。