python中时间日期格式的类型的转换(含pandas) |
您所在的位置:网站首页 › oracle中时间转换 › python中时间日期格式的类型的转换(含pandas) |
日期格式转换不外乎就是日期格式-字符串格式-数值格式之间的相互转换,以及相同格式的不同形式间的转换,最常用的是datetime模块 一、日期时间格式转字符首先获取当天日期 from datetime import datetime today = datetime.today() print(today) #datetime.datetime(2018, 9, 8, 22, 32, 46)返回结果分别包含年月日时分秒,代表当前的日期时间,这是最常见的日期时间格式,在DataFrame的显示形式是“2018-09-08 22:32:46”,假如我们要把日期转换为字符串形式“2018-09-08”或“20180908”等,就要用到datetime的内置strftime函数。 today.strftime('%Y-%m-%d') #'2018-09-08' today.strftime('%Y%m%d') #'20180908' today.strftime('%Y-%m') #'2018-09' 二、字符转日期时间第一种方法用datetime模块的strptime函数: datetime.strptime('2018-09-08','%Y-%m-%d') #datetime.datetime(2018, 9, 8, 0, 0)strptime函数接受两个参数,第一个是要转换的字符串日期,第二个是日期时间的格式化形式。 第二种方法可以借助pandas模块里面的to_datetime函数: import pandas as pd pd.to_datetime('2018-09-08') #Timestamp('2018-09-08 00:00:00') pd.to_datetime('201909',format='%Y%m') #Timestamp('2019-09-01 00:00:00')to_datetime函数常用的参数有两个,第一个是要转换的字符日期时间格式,第二个是该字符日期时间的格式化形式,对于简单的时间格式第二个参数format可以省略,to_datetime会自动识别,复杂一点的时间格式需要指定format。 三、数值转日期这种情况一般发生在,数据库或者我们导入Python的数据该日期时间字段是以数值格式储存的,这时需要把它转为日期时间格式以方便后续的应用。 数值转日期只需先把数值转换为字符,再用上面介绍的字符转日期处理就可以了。 dt = 20180908 datetime.strptime(str(dt),'%Y%m%d') #datetime.datetime(2018, 9, 8, 0, 0) 四、pandas中的时间处理首先,我们构造一个简单的数据示例 df import random df = pd.DataFrame({ 'some_data' : [random.randint(100,999) for i in range(1,10)], 'a_col' : '2019-07-12', 'b_col' : datetime.datetime.now().date(), 'c_col' : time.time()}, index=range(1,10))查看它的数据类型 some_data 9 non-null int64 a_col 9 non-null object b_col 9 non-null object c_col 9 non-null float64如何转换为 pandas 自带的 datetime 类型 # 字符串类型转换为 datetime64[ns] 类型 df['a_col'] = pd.to_datetime(df['a_col']) # datetime.date 类型转换为 datetime64[ns] 类型 df['b_col'] = pd.to_datetime(df['b_col']) # 时间戳(float) 类型转换为 datetime64[ns] 类型 df['c_col'] = pd.to_datetime(df['c_col'].apply(lambda x:time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(x))))这里还遇到了一个将默认int64格式转化为datetime64[M] df['order_dt']=pd.to_datetime(df.order_dt,format="%Y%m%d") df['month']=df.order_dt.values.astype('datetime64[M]')转载自https://blog.csdn.net/sinat_30715661/article/details/82534033 详细内容请看https://zhuanlan.zhihu.com/p/84582834 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |