とある分析で、各月の株式最終取引日を求めなければならなくなりました。
株式が取引されていた日は、
1980-01-04
1980-01-05
1980-01-07
1980-01-08
1980-01-09
1980-01-10
1980-01-11
のようにテキスト形式で保存されている(取引日は昇順にソート済み)ものを持っています。このとき、各月の最後の取引日を求めるには以下のPythonコードを実行すれば大丈夫。
さすがにこの程度のことは忘れないと思うんだけど、念のためメモ。
In [1]:
import pandas as pd
In [2]:
# テキストファイルの読み込み
df = pd.read_csv('日本株式市場取引日198001-201912.csv', header=None, parse_dates=[0])
In [3]:
# 変数名を付与
df.columns = ['取引日']
In [4]:
df
Out[4]:
In [5]:
# 取引日の年と月をそれぞれ求める
df['年'] =df['取引日'].dt.year
df['月'] =df['取引日'].dt.month
In [6]:
df
Out[6]:
In [7]:
# groupby で 各年月の最後のレコードを取り出す
df.groupby(['年','月']).last()
Out[7]: