Новый датафрейм из старого + новые столбцы в нов датафрейме
Еще раз всем Здравствуйте! Вообщем дело такое : есть датафрейм :
0 2 3 5
0 2021-03-23 07:06:27.758 1.19236 1.19237 6
1 2021-03-23 07:06:31.898 1.19237 1.19238 6
2 2021-03-23 07:06:33.196 1.19237 1.19240 4
3 2021-03-23 07:06:33.919 1.19237 1.19238 -4
4 2021-03-23 07:06:36.596 1.19237 1.19239 4
... ... ... ... ..
87309 2021-03-24 09:01:07.234 1.18443 1.18462 4
87310 2021-03-24 09:01:07.640 1.18443 1.18461 -4
87311 2021-03-24 09:01:07.742 1.18443 1.18460 -4
87312 2021-03-24 09:01:08.201 1.18443 1.18461 4
87313 2021-03-24 09:01:14.891 1.18444 1.18461 2
Который толком особо ничего не передает, однако появилась идея его преобразовать в новый с шагом в 1м. И так идея такая : в нов датафрейме(дф2) имеются колонки :
time znachen_one znachen_end srings max_2 min_2 max_3 min_3 6 4 2 0 -2 -4 -6
где в колонке time берется первая дата
в колонке znachen_one первое значение
в колонке znachen_end последнее значение
в колонке srings кол-во строк между znachen_one и znachen_end(если брать шаг в 1м , то их разное кол-во)
в колонках 6 4 2 0 -2 -4 -6 кол-во из колонки 5 старого дф ( т.е. из примера выше "6"-2раза, "4"-4раза, "-4" - 4 раза, "2"-1 раз, если некоторых параметров нет, то просто ставится 0(нуль)) в колонках max и min соответственно максимальное и минимальное значение из колонок 2 и 3
Вопрос(ы):
- каким методом выставить шаг ? как это вообще выглядеть будет
- как заполнить остальные колонки ?
P.s. Спасибо что обратили внимание и дочитали до конца. Я очень рад что русскоязычное сообщество стэка не раз помогала и объясняла. B месте с вами развиваюсь не только я, но и такие же начинающие программисты! Всем добра)
Ответы (1 шт):
Вот вам удочка, рыбу, надеюсь, сами научитесь ловить. ;)
Воспользуйтесь группировкой и агрегатными функциями.
Пример:
funcs = {
"znachen_one": ("2", "first"),
"znachen_end": ("2", "last"),
"srings": ("0", "size"),
# ...
}
res = df.groupby(pd.Grouper(key="0", freq="1T")).agg(**funcs)