问题描述
我有一个包含日期时间索引和假日名称列的简单数据框。它的结构如下:
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