Панды: изменить день

У меня есть серия в формате datetime и времени, и мне нужно изменить день на 1 для каждой записи. Я думал о многочисленных простых решениях, но никто из них не работает для меня. Пока что единственное, что на самом деле работает

  • установить серию как индекс
  • Запрос месяца и года из индекса
  • Восстановить новый временной ряд, используя год, месяц и 1

Это не может быть так сложно, не так ли? Начался месяц, но, к сожалению, это offset , это бесполезно. Кажется, что нет функции set() для метода и даже меньше функциональности, в то время как серия является столбцом, а не (частью) самого индекса.

Единственный связанный с этим вопрос был, но трюк, используемый там, здесь не применим.

One Solution collect form web for “Панды: изменить день”

Вы можете использовать .apply и datetime.replace , например:

 import pandas as pd from datetime import datetime ps = pd.Series([datetime(2014, 1, 7), datetime(2014, 3, 13), datetime(2014, 6, 12)]) new = ps.apply(lambda dt: dt.replace(day=1)) 

дает:

 0 2014-01-01 1 2014-03-01 2 2014-06-01 dtype: datetime64[ns] 
  • Как отформатировать отображение IPython html в виде кадра данных Pandas?
  • Принимая среднее значение по строкам, сгруппированным по переменной в numpy
  • Python: Pandas Dataframe как умножить весь столбец со скаляром
  • Действие с помощью pandas SettingWithCopyWarning
  • Как удалить акценты из значений в столбцах?
  • Pandas записывает данные в другую схему postgresql
  • Предотвратите научную нотацию в морском ящике
  • Включить вывод из% matplotlib backend в качестве SVG в ipynb
  • Python - лучший язык программирования в мире.