回答編集履歴
2
test
CHANGED
@@ -1,12 +1,16 @@
|
|
1
|
-
|
1
|
+
> 別のケースで'2024-09-22'をした場合で'2024-09-22'自体が存在しない場合はその直前("2024-09-20")でなく直後("2024-09-23")に存在するデータを取得することなどはできますでしょうか?
|
2
|
+
|
2
3
|
```python
|
3
|
-
df = df.loc[[df.index.asof('2024-09-22')]]
|
4
|
-
|
4
|
+
import pandas as pd
|
5
|
+
import numpy as np
|
6
|
+
|
7
|
+
|
5
|
-
|
8
|
+
idx = np.argmin(np.abs(pd.to_datetime(df.index) - pd.to_datetime('2024-09-22')))
|
9
|
+
df = df.iloc[[idx]]
|
6
10
|
print(df)
|
7
11
|
|
8
12
|
# A B C
|
9
13
|
# Date
|
10
|
-
# 2024-09-2
|
14
|
+
# 2024-09-23 1 11 21
|
11
15
|
```
|
12
16
|
|
1
test
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
`pandas.Index.asof()` を使うとよいかと思います。
|
2
2
|
```python
|
3
3
|
df = df.loc[[df.index.asof('2024-09-22')]]
|
4
|
+
# インデックスがソートされていない場合は予めソートしておく必要があります
|
5
|
+
# df = df.loc[[df.sort_index().index.asof('2024-09-22')]]
|
4
6
|
print(df)
|
5
7
|
|
6
8
|
# A B C
|