我正在使用 pd.inter_freq(df.index) 來了解資料頻率。我的問題是,如何從字串中提取數字。代碼:
xdf = pd.DataFrame({'data':range(0,6)},index=pd.date_range('2022-06-03 00:00:00', '2022-06-03 00:00:25', freq='5s'))
print(pd.infer_freq(xdf.index))
# time frequency
tf = int(pd.infer_freq(xdf.index))
預期產出
tf = 5
目前的輸出:
ValueError: invalid literal for int() with base 10: '5S'
uj5u.com熱心網友回復:
您想訪問 的n屬性freq。
>>> xdf.index.freq.n
5
要查找最頻繁的頻率,請使用mode:
>>> xdf.index.to_series().diff().dt.seconds.mode()
5
uj5u.com熱心網友回復:
與其決議 的輸出pd.infer_freq(),不如直接從 讀取數字DatetimeIndex.freq:
>>> pd.infer_freq(xdf.index)
'5S'
>>> xdf.index.freq
<5 * Seconds>
>>> xdf.index.freq.n
5
>>> xdf.index.freq.name
'S'
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/487176.html
下一篇:使用 0時區決議日期時間
