У меня есть такой фрейм данных:
+---+---+----+
| ts| p1| p2 |
+---+---+------
|200|[1]| null|
|220|[2]| [2] |
|240|[3]| [4] |
|250|[3]| [4] |
+---+---+-----+
Мне нужен такой вывод:
+---+---+----+
| ts_new| p1| p2 |
+---+---+------
|200|[1]| null|
|200|[2]| [2] |
|230|[3]| [4] |
|230|[3]| [4] |
+---+---+-----+
В основном мне нужна функция, которая принимает на вход ts, скажем, 200, а затем через каждые 30 единиц заменяет значение ts, если оно находится в интервале 30 единиц.
Любая помощь высоко ценится.
Я думаю, что вы ищете что-то вроде этого:
binsize = 30
offset = 200
df["ts"] = ((df["ts"] - offset) // binsize) * binsize + offset
Спасибо, Алекс, это сработало, я применил итеративный подход, который занял больше времени, ваше решение лучше. ценю вашу помощь