price
symbol date
AAPL 2022-10-07 23:57:00 137.17
2022-10-07 23:58:00 137.16
2022-10-08 00:00:00 137.17
MSFT 2022-10-07 23:57:00 200.54
2022-10-07 23:58:00 200.75
2022-10-08 00:00:00 200.62
日期位于多索引資料框中的 1 級索引上。日期索引的型別是“索引”
如何將所有日期移動一小時,以便這些時間戳如下:
2022-10-07 22:57:00
2022-10-07 22:58:00
2022-10-07 23:00:00
如果我這樣做(在我指出由于多個符號而重復時間索引之前由 Andrej 建議):
df.index = df.index.set_levels(
df.index.get_level_values("date") - pd.Timedelta("1 hour"), level="date")
我得到:
ValueError: Level values must be unique:
uj5u.com熱心網友回復:
嘗試:
df.index = df.index.set_levels(
df.index.get_level_values("date") - pd.Timedelta("1 hour"), level="date"
)
print(df)
印刷:
price
symbol date
AAPL 2022-10-07 22:57:00 137.17
2022-10-07 22:58:00 137.16
2022-10-07 23:00:00 137.17
編輯:
def fn(x):
x.index = x.index.set_levels(
x.index.get_level_values("date") - pd.Timedelta("1 hour"),
level="date",
)
return x
df = df.groupby(level=0, as_index=False).apply(fn).droplevel(0)
print(df)
印刷:
price
symbol date
AAPL 2022-10-07 22:57:00 137.17
2022-10-07 22:58:00 137.16
2022-10-07 23:00:00 137.17
MSFT 2022-10-07 22:57:00 200.54
2022-10-07 22:58:00 200.75
2022-10-07 23:00:00 200.62
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512080.html
標籤:Python熊猫约会时间
