以下のようなデータフレームがあります。
python
1data = { 2 "A":[4,1,2], 3 "B":[10, 11, 12], 4 "C":[20, 21, 22], 5 } 6df = pd.DataFrame(data, index = pd.Index(["2024-09-20", "2024-09-23", "2024-09-24"], name="Date"))
このデータフレームからindexを指定してデータを取得する時に、存在しないindexを指定した場合は最も近いindex(前のデータ)のデータを取得するにはどうしたら良いでしょうか?
具体的には以下のようなパターンです。
python
1df = df.loc[['2024-09-22']]
このような場合はエラーになりますが、その際に"2024-09-20"のデータを取得したいです。
ちなみに、"2024-09-25"を指定した場合は"2024-09-24"を取得できるようにしたいです。
お忙しいなか大変恐縮ですが、回答頂けますと幸いです。
よろしくお願いします。
画像ではインデックスが "2024-09-20", "2024-09-23", "2024-09-24" となっていますが、掲示されているコードでは "2024-09-20", "2024-09-23", "2024-09-25" となっています。
df = pd.DataFrame(data, index = pd.Index(["2024-09-20", "2024-09-23", "2024-09-25"], name="Date"))
> ちなみに、"2024-09-25"を指定した場合は"2024-09-23"を取得できるようにしたい
なので、コードを流用すると "2024-09-25" を指定した場合は "2024-09-25" が返ることになります。(インデックスが画像の通りであれば "2024-09-24" が返ります)
修正箇所を間違えてしまいました。
大変申し訳ございませんでした。修正いたしました。
よろしければお伺いしたいのですが、別のケースで'2024-09-22'をした場合で'2024-09-22'自体が存在しない場合はその直前("2024-09-20")でなく直後("2024-09-23")に存在するデータを取得することなどはできますでしょうか?
回答1件
あなたの回答
tips
プレビュー