【发布时间】:2017-07-06 05:22:51
【问题描述】:
我有一个索引列 = date 的 pandas DataFrame。
输入:
value
date
1986-01-31 22.93
1986-02-28 15.46
我想把日期推迟到那个月的第一天
输出:
value
date
1986-01-01 22.93
1986-02-01 15.46
我尝试了什么:
df.index.floor('M')
ValueError: <MonthEnd> is a non-fixed frequency
这可能是因为 df 是由
df = df.resample("M").sum()(这段代码的输出就是问题开头的输入)
我也试过df = df.resample("M", convention='start').sum()。但是,它不起作用。
我知道在 R 中,很容易调用 floor(date, 'M')。
【问题讨论】:
-
性能有问题吗?为此,我会考虑将这些值转换为
datetime对象,但如果您尝试处理数百万个对象,这可能会很昂贵。