У меня есть следующий файл данных pandas df:
C1 C2 C3
Date
2000-01-01 00:00:00 2 175 160
2000-01-01 01:00:00 4 192 164
2000-01-01 02:00:00 6 210 189
2000-01-01 03:00:00 8 217 199
2000-01-01 04:00:00 10 176 158
, из которого мне нужно получить значения C1, C2 и C3 для конкретной даты и времени:
import datetime
my_specific_time = str(datetime.datetime(2000, 1, 1, 1, 0, 0))
print(df['C1'].loc[mytime]) # prints 4
Проблемаявляется то, что я могу получить значения только для дат, хранящихся в DF.Например, получение значения C1
для времени 2000-01-01 01:30:00
невозможно, пока я не выполню повторную выборку моего кадра данных:
upsampled = df.resample('30min').ffill()
my_specific_time = str(datetime.datetime(2000, 1, 1, 1, 30, 0))
print(upsampled['C1'].loc[mytime]) # again prints 4
Обратите внимание, что все значения C1
между временными интервалами 2000-01-01 01:00:00
и2000-01-01 02:00:00
- это 4
.Теперь проблема в том, что my_specific_time
может быть любым случайным временем, и мне нужно было бы пересчитать df, используя достаточно малые значения, чтобы можно было получить значение для.Я думаю, что это не лучшее решение для этой проблемы.
При поиске возможных решений я встречал только промежутки времени в пандах, но я не совсем понимал, как можно использовать его в своей проблеме.Любая помощь будет принята с благодарностью.