更改日期时间索引中的特定日期

问题描述

我有一个包含日期时间索引和假日名称列的简单数据框。它的结构如下:

index = ['2016-12-25','2017-04-07','2017-12-26','2018-04-07']
data = {'holiday_name': ['xmas','independence','xmas','independence']}
df = pd.DataFrame(data=data,index=index)
df.index = pd.to_datetime(df.index)

|index      |holiday name
|2016-12-25 |christmas
|2017-07-04 |independence day
|2017-12-26 |christmas <<<<<<<<<<<<<<<
|2018-07-04 |independence day

如您所见,数据帧的日期时间索引中有错误(12 月 26 日的圣诞节)。 我可以将索引作为一个新列并使用 loc/at 进行更改,但我肯定可以直接在索引上执行此操作吗?

谢谢,

答案已经给出并且完美运行。作为参考,这是我用来解决它的...

df.reset_index(inplace=True)
df.rename(columns={'index':'date'},inplace=True)
df.at[2,'date'] = '2017-12-25 00:00:00'
df.set_index('date',inplace=True)

解决方法

您可以使用 operator <

重命名前:

template < typename T>
class MyIterator {
private:
    vectorV<T> & someName;
    int position;

public:
    MyIterator( vectorV<T> & rq)
            : someName( rq ),position()
    {}

    T & operator*()
    {
        return myRingQueue; //???
    }

};

重命名后:

.rename()

打印:

            holiday_name
2016-12-25          xmas
2017-04-07  independence
2017-12-26          xmas
2018-04-07  independence