我有一個值的DataFrame記錄和索引設置爲DatetimeIndex。大約每15分鐘記錄一次數值。如何將DataFrame移動到指定的最近時間索引?
我想添加一個新的列,它是當前值與24小時前值的分數差值。由於這些值每十五分鐘記錄一次大約,我想轉移到最接近24小時的時間索引。如果我嘗試恰好做到這一點,我結束了一大堆的NaN
S:
df["value"]/df["value"].shift(freq = datetime.timedelta(days = -1))
應該如何使這種轉變到最近的時間索引到一個指定的這種轉變做?有沒有其他更簡單的方法來思考這個問題?
這是說明問題的例子:
df = pd.DataFrame(
[
[pd.Timestamp("2015-07-18 13:53:33.280"), 10],
[pd.Timestamp("2015-07-19 13:54:03.330"), 20],
[pd.Timestamp("2015-07-20 13:52:13.350"), 30],
[pd.Timestamp("2015-07-21 13:56:03.126"), 40],
[pd.Timestamp("2015-07-22 13:53:51.747"), 50],
[pd.Timestamp("2015-07-23 13:53:29.346"), 60]
],
columns = [
"datetime",
"value"
]
)
df.index = df["datetime"]
del df["datetime"]
df.index = pd.to_datetime(df.index.values)
df["change"] = df["value"]/df["value"].shift(freq = datetime.timedelta(days = -1))
您的數據在哪裏? –
@cᴏʟᴅsᴘᴇᴇᴅ我試圖避免數據混亂的頁面。我希望這個問題相當清楚和簡潔。示例時間戳將類似於「2017-03-09 14:36:06.516166」和「2017-03-09 14:51:07.661818」。 – BlandCorporation
好吧,沒有數據,用戶將被迫在黑暗中拍攝:-(一個好辦法是發佈前5-10行,只有最重要的列:) –