python基础学习笔记(三)pandas日期

引入 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']指定输出列

猜你喜欢

转载自blog.csdn.net/ieflex/article/details/84871629