python时间戳格式化,python时间戳转换日期格式包含微秒
(3)按照约定俗成的日期定位法定位。
首先,我们来看看定位是什么。之前什么都可以用,加数字就行。
可爱的小蝴蝶
笑纸鹤
-小时 -分钟 -秒 -
现在MonthEnd(2) #后移两个月,弥补了之前无法定位当月的下个月问题时间戳( 2020-01-31 16: 34: 35.850953 )。
注意:错误演示
offset=MonthEnd(2)
Offset.rollforward(now) #结果还是时间戳( 2019-12-31 16: 34: 35.850953 ),只能加到2020年1月。
注意:通常情况下,我们不单独列出时间序列,但是我们可以用一些数据,即series和dataframe,通过使用shift来改变日期。
四。在两个时间点内根据需要添加数据。
这个函数相当于range(a,b),所以公式也非常类似于date_range(start= start date ,end= end date ,periods=增量几次,freq= frequency )
1.日期范围(开始日期,n)
从开始日期开始每天列出N天。
2.Date _ range(开始日期,增加几次,频率)
频率可以用以下方式表示:
A.几天之内
-2(以2天为增量)-3b(以3个工作日为增量)-4h(以4小时为增量)-50分钟(以50分钟为增量)
-6S (以6秒为增量)-7ms (以7毫秒为增量)-8u (以8微秒为增量)-2d4h50min6s7ms8u (可连续写入)
pd.date_range(2019-12-16 ,periods=5,freq=2D4h50min6S7ms8U )
datetime index([ 2019-12-16 00:00:00 , 2019-12-18 04:50:06.007008 ,
2019-12-20 09:40:12.014016, 2019-12-22 14:30:18.021024,
2019-12-24 19:20:24.028032],
dtype=datetime64[ns],freq=190206007008U )
B.一周之内
-w-tue (从开始日期的当天开始,从下一个星期二开始,增加7天)
pd.date_range(2019-12-16 ,periods=5,freq=W-TUE )
DatetimeIndex([2019-12-17 , 2019-12-24 , 2019-12-31 , 2020-01-07 ,
2020-01-14],
dtype=datetime64[ns],freq=W-TUE )
C.一个月内
- WOM-3星期五(从开始日期开始的那个月的第三个星期五,按月递增)
Pd.date _ range (2019-12-21 ,periods=5,freq= WOM-3星期五)#注意:如果给出的日期超过了本月的第三个星期五,则跳过本月。
DatetimeIndex([2020-01-17 , 2020-02-21 , 2020-03-20 ,
2020-04-17],dtype=datetime64[ns],freq= WOM-3星期五)
-6m (从开始日期当月的月末开始,以六个月为增量)-6bm (从开始日期当月的最后一个工作日开始,以六个月为增量)
Pd.date _ range (2019-12-21 ,periods=5,freq= 6m) #注:与MS的区别
DatetimeIndex([2019-12-31 , 2020-06-30 , 2020-12-31 , 2021-06-30 ,
2021-12-31],
dtype=datetime64[ns],freq=6M )
pd.date_range(2018-12-21 ,periods=5,freq=6BM )
DatetimeIndex([2018-12-31 , 2019-06-28 , 2019-12-31 , 2020-06-30 ,
2020-12-31],
dtype=datetime64[ns],freq=6BM )
-7 ms (从开始日期的月初开始,以7个月为增量)-7 BMS (从开始日期的第一个工作日开始,以7个月为增量)
Pd.date _ range (2018-12-21 ,periods=5,freq= 7ms) #注意:如果给定日期不是月初,则结果从下月初开始,增加七个月。
DatetimeIndex([2019-01-01 , 2019-08-01 , 2020-03-01 , 2020-10-01 ,
2021-05-01],
dtype=datetime64[ns],freq= 7毫秒)
pd.date_range(2018-12-21 ,periods=5,freq=7BMS )
DatetimeIndex([2019-01-01 , 2019-08-01 , 2020-03-02 , 2020-10-01 ,
2021-05-03],
dtype=datetime64[ns],freq=7BMS )
D.季度内
-" Q-feb "(从二月底开始每三个月增加一次)-" QS-feb "(从二月初开始每三个月增加一次)
-BQ-FEB (从二月的最后一个工作日开始,以三个月为增量)-BQS-FEB (从二月的第一个工作日开始,以三个月为增量)
pd.date_range(2018-12-01 ,periods=5,freq=BQ-FEB )
# Q和QS没什么好注意的,但是BQ和BQS需要注意。如果给定日期已经过了当前年份的二月,系统将从下个月的二月开始显示。
DatetimeIndex([2019-02-28 , 2019-05-31 , 2019-08-30 , 2019-11-29 ,
2020-02-28],
dtype=datetime64[ns],freq=BQ-FEB )
E.几年内
-二月(从开头年份的二月底开始,按年递增) -巴-二月(从开头年份的二月最后一个工作日开始,按年递增)
-截至二月(从开头年份的二月初开始,按年递增) - BAS-FEB (从开头年的二月第一个工作日开始,按年递增)
pd.date_range(2018-12-01 ,periods=5,freq=AS-FEB) #同上
DatetimeIndex([2019-02-01 , 2020-02-01 , 2021-02-01 , 2022-02-01 ,
2023-02-01],
dtype=datetime64[ns],freq=AS-FEB )
-
前文中我们看到有些日期已经超过导致递延问题,那么我们如何解决这类问题?
我们可以提取年、月来避免
比如前文中pd.date_range(2018-12-01 ,periods=5,freq=BQ-FEB )中的问题从年初开始
将熊猫作为螺纹中径导入
开始日期= 2018-12-01 开始日期年份=str(PD。to _ datetime(开始日期).年)PD。date _ range(开始日期年份,周期=5,频率=AS-FEB )
DatetimeIndex([2018-02-01 , 2019-02-01 , 2020-02-01 , 2021-02-01 ,
2022-02-01],
dtype=datetime64[ns],freq=AS-FEB )
比如前文中pd.date_range(2019-12-21 ,periods=5,freq= WOM-3星期五)中的问题从月初开始
将熊猫作为螺纹中径导入
开始日期= 2019-12-01 开始日期年份=str(PD。to _ datetime(开始日期).年份)
开始日期month=str(PD。to _ datetime(开始日期).月)年_月=开始日期年-开始日期月
pd.date_range(year_month,periods=5,freq= WOM-3星期五)
DatetimeIndex([2019-12-20 , 2020-01-17 , 2020-02-21 , 2020-03-20 ,
2020-04-17],
dtype=日期时间64[ns],频率= WOM-3星期五)
3.日期范围(开头日期,结束日期,频率)
4.日期范围(开头日期,结束日期,递增几次)
按天数等分
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。