我有以下代碼:
import pandas as pd
import yfinance as yf
import datetime
from dateutil.relativedelta import relativedelta
import pandas as pd, mplfinance as mpf, matplotlib.pyplot as plt
import numpy as np
db = yf.download(tickers='goog', start=datetime.datetime.now()-relativedelta(days=7), end= datetime.datetime.now(), interval="5m")
db = db.dropna()
如果我想獲得浮點值,我會這樣做“
db.index.get_loc(pd.Timestamp('2022-02-16 12:05:00'))
它會產生34
So :
b =db[33:34]
但如果我這樣做:
db.index.get_loc(pd.Timestamp(b.index.strftime('%Y-%m-%d %I:%M:%S')))
我得到:
TypeError: Cannot convert input [Index(['2022-02-22 09:15:00'], dtype='object', name='Datetime')] of type <class 'pandas.core.indexes.base.Index'> to Timestamp
您能否告訴我如何從日期時間獲取索引?
uj5u.com熱心網友回復:
這里b.index.strftime('%Y-%m-%d %I:%M:%S')回傳一個元素索引,所以對于標量需要選擇第一個值:
b = db.iloc[33:34]
print (b)
Adj Close Volume
Datetime
2022-02-16 12:15:00-05:00 2709.629883 8000
print (b.index.strftime('%Y-%m-%d %I:%M:%S'))
Index(['2022-02-16 12:15:00'], dtype='object', name='Datetime')
print (b.index.strftime('%Y-%m-%d %I:%M:%S')[0])
2022-02-16 12:15:00
a = db.index.get_loc(pd.Timestamp(b.index.strftime('%Y-%m-%d %I:%M:%S')[0]))
print (a)
33
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/432158.html
上一篇:Pandas混合日期列與Excel日期、浮點數、整數、字串日期-轉換為日期時間
下一篇:如何在顫振/飛鏢中創建時隙
