日期功能擴充套件了時間序列,在財務資料分析中起主要作用。在處理日期資料的同時,我們經常會遇到以下情況 –
生成日期序列
將日期序列轉換為不同的頻率
建立乙個日期範圍
通過指定週期和頻率,使用date.range()函式就可以建立日期序列。 預設情況下,範圍的頻率是天。參考以下示例** –
import pandas as pd
datelist = pd.date_range('2020/11/21', periods=5)
print(datelist)
執行上面示例**,得到以下結果 –
datetimeindex(['2020-11-21', '2020-11-22', '2020-11-23', '2020-11-24',
'2020-11-25'],
dtype='datetime64[ns]', freq='d')
更改日期頻率
import pandas as pd
datelist = pd.date_range('2020/11/21', periods=5,freq='m')
print(datelist)
執行上面示例**,得到以下結果 –
datetimeindex(['2020-11-30', '2020-12-31', '2021-01-31', '2021-02-28',
'2021-03-31'],
dtype='datetime64[ns]', freq='m')
bdate_range()函式
bdate_range()用來表示商業日期範圍,不同於date_range(),它不包括星期六和星期天。
import pandas as pd
datelist = pd.date_range('2011/11/03', periods=5)
print(datelist)
執行上面示例**,得到以下結果 –
datetimeindex(['2017-11-03', '2017-11-06', '2017-11-07', '2017-11-08',
'2017-11-09'],
dtype='datetime64[ns]', freq='b')
觀察到11月3日以後,日期跳至11月6日,不包括4日和5日(因為它們是週六和週日)。
像date_range和bdate_range這樣的便利函式利用了各種頻率別名。date_range的預設頻率是日曆中的自然日,而bdate_range的預設頻率是工作日。參考以下示例** –
import pandas as pd
start = pd.datetime(2017, 11, 1)
end = pd.datetime(2017, 11, 5)
dates = pd.date_range(start, end)
print(dates)
執行上面示例**,得到以下結果 –
datetimeindex(['2017-11-01', '2017-11-02', '2017-11-03', '2017-11-04',
'2017-11-05'],
dtype='datetime64[ns]', freq='d')
偏移別名
大量的字串別名被賦予常用的時間序列頻率。我們把這些別名稱為偏移別名。
別名描述說明
b工作日頻率
bqs商務季度開始頻率
d日曆/自然日頻率
a年度(年)結束頻率
w每週頻率
ba商務年底結束
m月結束頻率
bas商務年度開始頻率
sm半月結束頻率
bh商務時間頻率
sm半月結束頻率
bh商務時間頻率
bm商務月結束頻率
h小時頻率
ms月起始頻率
t, min
分鐘的頻率
smssms半開始頻率
s秒頻率
bms商務月開始頻率
l, ms毫秒q
季度結束頻率
u, us
微秒bq
商務季度結束頻率n納秒
bq商務季度結束頻率
qs季度開始頻率
mysql中日期比較大小的方法
假如有個表product有個字段add time,它的資料型別為datetime,有人可能會這樣寫sql 如下 複製 select from product where add time 2013 01 12 對於這種語句,如果你儲存的格式是yy mm dd是這樣的,那麼ok,如果你儲存的格式是 2...
Mysql中日期比較大小的方法
假如有個表commodity有個字段add time,它的資料型別為datetime,有人可能會這樣寫sql select from product where add time 2013 01 12 這種語句,如果你儲存的格式是yy mm dd這樣,那麼ok,如果你儲存的格式是 2018 01 1...
double比較大小
參考 comparing floating point numbers 總結幾點 0.float佔4byte,精度是6 7位 double佔8byte,精度是15 16位。1.因為double型別或float型別都是有精度的,其實都是取的近似值,所以有個誤差。和乙個很小的數比如0.00000001 ...