Pandas中,最基本的時間序列類型就是以時間戳為索引的Series對象。
成都創(chuàng)新互聯(lián)是一家專注于網站設計制作、成都網站設計和德陽機房托管的網絡公司,有著豐富的建站經驗和案例。
時間戳使用Timestamp(Series派生的子類)對象表示,該對象與datetime具有高度的兼容性,可以直接通過to_datetime()函數(shù)將datetime轉換為TimeStamp對象。
import pandas as pd # 導入pandas模塊,并起個別名pd from datetime import datetime import numpy as np pd.to_datetime('20200828') # 將datetime轉換為Timestamp對象
Timestamp('2020-08-28 00:00:00')
當傳入的是多個datetime組成的列表,則Pandas會將其強制轉換為DatetimeIndex類對象。
# 傳入多個datetime字符串 date_index = pd.to_datetime(['20200820', '20200828', '20200908']) date_index
DatetimeIndex(['2020-08-20', '2020-08-28', '2020-09-08'],
dtype='datetime64[ns]', freq=None)
如何取出第一個時間戳
date_index[0] # 取出第一個時間戳
Timestamp('2020-08-20 00:00:00')
2.在Pandas中,最基本的時間序列類型就是以時間戳為索引的Series對象。
# 創(chuàng)建時間序列類型的Series對象 date_ser = pd.Series([11, 22, 33], index=date_index) date_ser
2020-08-20 11
2020-08-28 22
2020-09-08 33
dtype: int64
也可將包含多個datetime對象的列表傳給index參數(shù),同樣能創(chuàng)建具有時間戳索引的Series對象。
# 指定索引為多個datetime的列表 date_list = [datetime(2020, 1, 1), datetime(2020, 1, 15), datetime(2020, 2, 20), datetime(2020, 4, 1), datetime(2020,
time()函數(shù)可以獲取當前時間戳;ctime()函數(shù)可以以一種易讀的方式獲取系統(tǒng)當前時間;gmtime()函數(shù)可獲取當前0時區(qū)的struct_time格式的時間;localtime()函數(shù)可獲取當前地區(qū)的struct_time格式的時間。
在 Python 中,可以使用 datetime 庫中的 timedelta 函數(shù)來計算時間間隔,然后使用 date 函數(shù)來獲取當前日期,再使用 weekday 函數(shù)來獲取星期幾。
下面是一個使用這些函數(shù)的示例代碼:
from datetime import timedelta, date
def get_day_of_week(days_from_today):
# 計算當前日期 days_from_today 天后的日期
target_date = date.today() + timedelta(days=days_from_today)
# 獲取星期幾
day_of_week = target_date.weekday()
# 轉換為星期天為 0 的形式
day_of_week = (day_of_week + 1) % 7
return day_of_week
# 獲取再過一百天是星期幾
day_of_week = get_day_of_week(100)
print(f"In 100 days, it will be day {day_of_week} of the week.")
這需求折騰了我半天..
import time
import datetime as datetime
def late_time(time2):
# 先獲得時間數(shù)組格式的日期
#time2是外部傳入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是當前時間則去掉函數(shù)參數(shù)改寫 ? ? ?為datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 轉換為時間戳
timeStamp =int(time.mktime(threeDayAgo.timetuple()))
# 轉換為其他字符串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")
return otherStyleTime
a = late_time("2019-3-30")
print(a)# 打印2018-02-28