前提・実現したいこと
dataframe型のデータから、特定の条件(今回は5月であるという条件)に該当する行のデータを抽出したいです。
データを月ごとに分割にして個別に格納するのが目標なのですが、KeyErrorが出る、または、格納できても(今回はmay)中身が1つしかない(一番最後の該当行のデータのみで、中間の該当行のデータがうまく格納されていない)といった状態です。
該当のソースコード
>>print(data) date val 0 2008-03-11 0.000000 1 2008-03-21 0.104815 2 2008-03-25 -0.126442 3 2008-03-31 -0.092639 4 2008-04-04 0.109524 5 2008-04-10 0.139711 6 2008-04-14 0.141570 7 2008-04-20 -0.202505 8 2008-04-24 -0.153819 9 2008-05-10 -0.234452 10 2008-05-30 -0.347163 >>dt=data['date'].dt.month #月をdtに格納 L=len(dt) >>#dataのうち、dateが5月である行(9,10行目)の情報(dateとval)のみを抽出したい for i in range(L): if dt[i]==5: may=data[i] #ここに格納したい else: pass >>print(may)
発生している問題・エラーメッセージ
KeyError : 9
if文中の
may=data[i]
を、
may=data.iloc[i]
にしたりもしてみましたが、うまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
Python
回答2件
あなたの回答
tips
プレビュー