こんにちは、まゆみです。
Pandasについてシリーズで記事を書いています。
今回は第6回目になります。
今まで基礎的な事を書いてきたので、今回の記事では、Pandas の便利な機能を使って
- CSVデータを読み込み見やすくしたり
- ほしいデータのみ取り出したり
- データを並べ替えたり
してみようと思います。
今回はdata.worldさんのサイトから『Facebook』の株価のデータを使っていきたいと思います。(私自身、Facebookの株を少し保有しているので興奮します(笑))
#株価分析に役立ちそうなPandasの機能
##CSVファイルの使いたい部分を指定する
import pandas as pd
pd.read_csv("CSVファイル名", usecols=["コラム名"], squeeze=True)
Pandasのread_csv()メソッドは
CSVファイル全体(DataFrame)を読み込むので、あなたが使わないデータも一緒に読み込んでしまいます。
usecols=["コラム名"]
で使いたい部分を指定しましょう
今回は『Close』とコラム名の付いた部分だけを取り出します(株価のそれぞれの日の終値)
そしてDataFrame をSeries に変えるために、
squeeze= True
と()内に書きます。
※DataFrame Seriesってなにっていう人はこちらの記事からどうぞ。
※squeeze って何?っていう人は、前回の記事の1コラムだけ取り出したDataFrameをSeries にするという項目に書いています
以上の実行結果は下記のようになります。Seriesを作ることができました。
##データの最初と最後の一部だけ見てみる
Facebookの株価データの最初と最後の一部を見てみたい時には
.head()
.tail()
が使えます
.head() はデータの最初の5rowsを
.tail() はデータの最後の5rowsを返してくれます
引数の値を変えれば、その数字分のrow を返してくれます。
##株価を低い順・高い順に並べる
Facebookの株を持ち続けていたらいくら儲かったか知りたい時は 株価を低い順に、もしくは高い順に並べる機能を使ってみましょう
.sort_values()
を使うと、低い順から並べてくれます。
もし、株価が18ドルくらいの時に買ってほったらかしにしていたら、今頃は。。。(妄想。。。)
また、sort_values() は色々なパラメーターを取ることができます。(Pandasのドキュメント参考)
sort_valuesの
ascending=False
というパラメーターの引数の値をFalse にすれば
高い順から並べてくれます
###inplace パラメーターの使い方
ただこの『.sort_values()』は元々のデータを書き換えるものではありません。
株価を高い順、もしくは低い順に並べたものを返すだけで上書きするわけではありません。
どういう意味か実際に例を出しながら説明します。
例え、引数をascending=False にして株価の高い順から並べたとしても、元々のデータをもう一度呼び出してみると株価の低い順にならんでいます。
ではデータを上書きする方法はあるのでしょうか?
デフォルトではFalse になっているinplace = の引数をTrue に変更すれば上書きをすることができます
#まとめ
今回の記事はこれくらいで終わりにします
Pandas ライブラリーはパワフルで色んな事ができるので、少しづつPandas について記事にしていきますね。