数据分析时间数据处理

from datetime import datetime

now = datetime.now()
print(now)
print('年:{},月:{},日:{}'.format(now.year, now.month, now.day))

diff = datetime(2019, 4, 4, 21) - datetime(2019, 1, 25, 0)
print(type(diff))
print(diff)
print('经历了{}天,{}秒'.format(diff.days, diff.seconds))
  • 字符串和datetime转换

用pandas读取的列的数据并不知道是string类型还是datetime类型

datetime -> str
1. str(datetime_obj)
2. datetime.strftime()

dt_obj = datetime(2017, 3, 4)
str_obj = str(dt_obj)
print(type(str_obj)
print(str_obj)

//有可能其他国家的datetime并不是年月日,
//所以我们将其格式化为我们相要的格式
str_obj2 = dt_obj.strftime('%d-%m-%y')

str -> datetime
1. datetime.strptime() //需要指定时间表示的形式
dt_str = '2017-02-18'
dt_obj2 = datetime.strptime(dt_str, '%Y-%m-%d')
print(type(dt_obj2))
print(dt_obj2)

2. dateutil.parser.parse() //可以解析大部分时间表示形式
from dateutil.parser import parse
dt_str3 = '2017/02/18'
dt_str2 = '02-18-2017'
dt_obj3 = parse(dt_str2)
print(type(dt_obj3))
print(dt_obj3)

3. pd.to_datetime() //可以处理缺失值和空字符串
//通常在pandas里处理一列数据,当数据类型为object时
import pandas as pd
s_obj = pd.Series(['2017/02/18', '2017/02/19', '2017/02/20'], name = 'course_time')
print(s_obj)
s_obj2 = pd.to_datetime(s_obj)
print(s_obj2)

猜你喜欢

转载自blog.csdn.net/disasters/article/details/91954073