我们经常要生成一些有时间间隔的时间序列时标,pandas中的date_range非常好用。起始时间、结束时间、频率、间隔这些其实其它语言里也是有的,比如MFC中的CTimeSpan。但这个更细有“日历日”、“工作日”、"每月最后一个日历日"、“每月最后一个工作日”。
基本语法就是
pd.date_range(start=None,end=None,period=None,freq='D') # period 相隔时间 freq 频率 D表示天。
以下是参数说明:
上代码:
"""
pd.date_range(start=None,end=None,periods=None,freq='D') #period 相隔时间
freq 频率
pd.date_range(start="2019-12-19",end="2020-3-1",freq='D') #每天 间隔时间段 1天
pd.date_range(start="2019-12-19",end="2020-3-1",freq='10D') # 间隔时间段 10天
pd.date_range(start="2019-12-19",periods=10,freq='D') # 10个1天 间隔时间段 1天
pd.date_range(start="2019-12-19",periods=10,freq='M') # 10个1月 间隔时间段 1个月
pd.date_range(start=None,end=None,periods=None,freq='D') #D 日历
#B 工作日
#H 小时
#T 分钟
#S 秒
#M 每月最后一个日历日
#BM 每月最后一个工作日
#MS 每月第一个日历日
#BMS 每月第一个工作日
pd.data_range(start="2019-12-19 00:00:00 ",end="2020-3-1 00:00:00",freq='15T') 每15分钟一个点
时间字符串 时间序列
df["timeStamp']=pd.to_datetime(df["timeStamp"],format="")
"""
import pandas as pd
def main():
rc=pd.date_range(start="2019-12-19", end="2020-1-2", freq='D') # 每天 间隔时间段 1天
"""
print(rc)输出
DatetimeIndex(['2019-12-19', '2019-12-20', '2019-12-21', '2019-12-22',
'2019-12-23', '2019-12-24', '2019-12-25', '2019-12-26',
'2019-12-27', '2019-12-28', '2019-12-29', '2019-12-30',
'2019-12-31', '2020-01-01', '2020-01-02'],
dtype='datetime64[ns]', freq='D')
"""
rc=pd.date_range(start="2019-12-19", end="2020-3-1", freq='10D') # 间隔时间段 10天
"""
print(rc)输出
DatetimeIndex(['2019-12-19', '2019-12-29', '2020-01-08', '2020-01-18',
'2020-01-28', '2020-02-07', '2020-02-17', '2020-02-27'],
dtype='datetime64[ns]', freq='10D')
"""
rc=pd.date_range(start="2019-12-19", periods=5, freq='D') # 10个1天 间隔时间段 1天
"""
print(rc)输出
DatetimeIndex(['2019-12-19', '2019-12-20', '2019-12-21', '2019-12-22',
'2019-12-23'],
dtype='datetime64[ns]', freq='D')
"""
rc=pd.date_range(start="2019-12-19", periods=5, freq='M') # 10个1月 间隔时间段 1个月
"""
print(rc)输出
DatetimeIndex(['2019-12-31', '2020-01-31', '2020-02-29', '2020-03-31',
'2020-04-30'],
dtype='datetime64[ns]', freq='M')
"""
rc=pd.date_range(start="2019-12-19 00:00:00 ", end="2020-1-2 00:00:00", freq='15T')
"""
print(rc)输出
DatetimeIndex(['2019-12-19 00:00:00', '2019-12-19 00:15:00',
'2019-12-19 00:30:00', '2019-12-19 00:45:00',
'2019-12-19 01:00:00', '2019-12-19 01:15:00',
'2019-12-19 01:30:00', '2019-12-19 01:45:00',
'2019-12-19 02:00:00', '2019-12-19 02:15:00',
...
'2020-01-01 21:45:00', '2020-01-01 22:00:00',
'2020-01-01 22:15:00', '2020-01-01 22:30:00',
'2020-01-01 22:45:00', '2020-01-01 23:00:00',
'2020-01-01 23:15:00', '2020-01-01 23:30:00',
'2020-01-01 23:45:00', '2020-01-02 00:00:00'],
dtype='datetime64[ns]', length=1345, freq='15T')
"""
if __name__=="__main__":
main()