引入 improt datetime
a = datetime.date.time(2018,8,3)
b = datetime.date.time(2018,1,1)
a - b 获得一个时间差 datatime.timedelta()
a.strftime("%Y=%m-%d") 时间对象格式化成字符串
datetime.datetime.strptime("2018-1-1","%Y-%m-%d") #字符串解析成时间对象
使用dateutil和pandas
import dateutil
dateutil.parser.parse("JAN-1-2018") #字符串转换日期
import pandas pd
pd.to_datetime(['2018-1-1','2019/1/1']) #批量日期转换
pd.to_datetime(['2018-1-1','2019/1/1']) .to_pydatetime() #转换成时间数组
pd.date_range('2015-1-1','2018-1-1',freq='M') #按月获得时间序列
#参数 start,end,periods,freq (默认D,可选H小时,W周,B上班时间,SM半个月,M月,T分钟,S秒,A年)
时间序列
df.index = pd.to_datetime(df['date'].values) #获取csv中时间列,设置成时间序列
df['2018-1'] #传入参数获取2018年1月的所有数据
df['2018-1':'2018-9'] #取一段时间的
df.index.strftime("%Y-%m-%d") #修改时间格式
df.resample('3D').mean() #数据重新取样,可以做每3天(单位长度)做一次取样
to_pydatetime #批量转换成datetime对象
文件读取
pd.read_csv('c.csv',sep='\s+',header=None) #按照多个空白字符分割读取csv,不读取第一行
# 其他参数 names=list('abcd') 列重命名,index_col=2(index_col='date')指定某列作为索引
# parse_dates=['date']转换成时间索引
#na_values=['None','null'] 指定缺失值
df.to_csv('t.csv') # 写文件
#参数 sep指定分割,na_rep指定缺失值herder=False不输出第一列,index=False不数组第一列 colums=['start','end']指定输出列