我有一个datetime
系列,并且需要将日期更改为1
对于每个条目。我想过很多简单的解决方案,但没有一个适合我。目前,唯一真正有效的是
- 将系列设置为索引
- 从索引中查询月份和年份
- 使用年、月和 1 重建新的时间序列
事情不可能真的那么复杂,不是吗?有一个月的开始,但不幸的是offset
,这在这里没有用。好像没有set()
方法的功能,当系列是列而不是索引本身(的一部分)时,功能甚至更少。
唯一相关的问题是this https://stackoverflow.com/questions/18233107/pandas-convert-datetime-to-end-of-month,但是那里使用的技巧在这里不适用。
您可以使用.apply
and datetime.replace
, eg:
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))
Gives:
0 2014-01-01
1 2014-03-01
2 2014-06-01
dtype: datetime64[ns]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)