У меня есть CSV-файл с миллионами строк в следующем формате:
Amount,Price,Time
0.36,13924.98,2010-01-01 00:00:08
0.01,13900.09,2010-01-01 00:02:04
0.02,13907.59,2010-01-01 00:04:54
0.07,13907.59,2010-01-01 00:05:03
0.03,13925,2010-01-01 00:05:41
0.03,13920,2010-01-01 00:07:02
0.15,13910,2010-01-01 00:09:37
0.03,13909.99,2010-01-01 00:09:58
0.03,13909.99,2010-01-01 00:10:03
0.14,13909.99,2010-01-01 00:10:03
Я хочу сначала заполнить эти данные, а затем выполнить некоторые вычисления для отфильтрованных данных.Я импортирую его, используя pandas data = pd.read_csv()
, чтобы получить DataFrame.
Затем я преобразую столбец Time
в столбец TimeDelta
(который, я не уверен, необходим для того, что я хочу сделать), где язапишите разницу во времени 2010-01-01 00:00:00
, используя
data['TimeDelta'] = pd.to_timedelta(pd.to_datetime(data.Date)-pd.Timedelta(days=14610))/np.timedelta64(1, 'm')
Вот часть, с которой я борюсь.Мне нужна функция, которая возвращает новый DataFrame, где я хочу только первую строку после каждых n
минут, где n
является целым числом, определенным пользователем.
Например.Если n=5
, желаемый результат этой функции для моих данных будет:
Amount,Price,Time
0.36,13924.98,2010-01-01 00:00:08
0.07,13907.59,2010-01-01 00:05:03
0.03,13909.99,2010-01-01 00:10:03
И вывод для n=3
будет:
Amount,Price,Time
0.36,13924.98,2010-01-01 00:00:08
0.02,13907.59,2010-01-01 00:04:54
0.15,13910,2010-01-01 00:09:37
Я пытался сделать этоиспользуя floor
и остаток %
, но, будучи новичком в Python, я не могу заставить его работать.