更改日期时间索引中的特定日期
change specific date in a datetimeindex
我有一个简单的数据框,其中包含一个日期时间索引和一个假期名称列。它的结构如下:
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)
您可以使用 .rename()
.
重命名前:
holiday_name
2016-12-25 xmas
2017-04-07 independence
2017-12-26 xmas
2018-04-07 independence
重命名后:
df.rename(
index={pd.Timestamp("2017-12-26"): pd.Timestamp("2017-12-24")},
inplace=True,
)
print(df)
打印:
holiday_name
2016-12-25 xmas
2017-04-07 independence
2017-12-24 xmas
2018-04-07 independence
我有一个简单的数据框,其中包含一个日期时间索引和一个假期名称列。它的结构如下:
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)
您可以使用 .rename()
.
重命名前:
holiday_name
2016-12-25 xmas
2017-04-07 independence
2017-12-26 xmas
2018-04-07 independence
重命名后:
df.rename(
index={pd.Timestamp("2017-12-26"): pd.Timestamp("2017-12-24")},
inplace=True,
)
print(df)
打印:
holiday_name
2016-12-25 xmas
2017-04-07 independence
2017-12-24 xmas
2018-04-07 independence