import pandas as pd
date_range()
使用date_range()方法可以快速创建出一个日期范围
pd.date_range(start=None, end=None, periods=None, freq="D")
start
: 日期范围的开始end
: 日期范围的结束periods
: 固定日期的个数freq
: 日期的偏移量(生成的日期之间的偏差), 取值为String, 默认为"D",即 一天为日期的偏移量
例: 利用 start和end以及默认的freq创建
date = pd.date_range(start='20210305', end='20210309')
print(date)
DatetimeIndex(['2021-03-05', '2021-03-06', '2021-03-07', '2021-03-08',
'2021-03-09'],
dtype='datetime64[ns]', freq='D')
Process finished with exit code 0
例2: 使用start和end以及频率参数freq为5天创建
date = pd.date_range(start='20210305', end='20210409', freq="5D")
print(date)
DatetimeIndex(['2021-03-05', '2021-03-10', '2021-03-15', '2021-03-20',
'2021-03-25', '2021-03-30', '2021-04-04', '2021-04-09'],
dtype='datetime64[ns]', freq='5D')
Process finished with exit code 0
例3: 使用start和periods以及默认的频率参数创建5个数据
date = pd.date_range(start='20210305', periods=5, freq="D")
print(date)
DatetimeIndex(['2021-03-05', '2021-03-06', '2021-03-07', '2021-03-08',
'2021-03-09'],
dtype='datetime64[ns]', freq='D')
Process finished with exit code 0
时间频率的缩写
创建以时间序列为索引的Series数据
import pandas as pd
import numpy as np
# 创建365个时间序列作为索引
time_index = pd.date_range('2021-01-01', periods=365)
# 创建365个随机数作为Series数据的值
time_data = np.random.randint(100,size=365)
date_time_series = pd.Series(data=time_data,index=time_index)
print(date_time_series )
根据时间序列索引获取数据
根据年份进行索引
date_time_series['2021'] # 会取出日期在2021年的全部数据
根据年和月进行索引
date_time_series['2021-10'] # 取出2021年10月份的全部数据
使用时间进行切片获取数据
date_time['2021-03-05':'2021-03-10'] # 取出2021年3月5号到10号的数据
to_datetime()
有的时候用csv导入到时间数据时,默认的是字符串的数据类型 ,当可视化的时候,会出现没有按时间先后顺序的方式绘图 ,所以需要将字符串解析为时间类型的数据类型
使用Pandas的to_datetime()方法可以将字符串形式的日期转换成时间格式
pd.to_datetime(arg,format=None)
-
arg
: 需要修改的数据 -
format
: 数据的格式 -
to_datetime()
方法会将字符串类型的是时间转换成Timestamp(‘2021-03-05 00:00:00’)时间戳类型 -
例:
-
pd.to_datetime('2021-03-05')
-
想对时间格式修改,还可以使用
to_pydatetime()
方法将Timestamp类型转换成datetime
类型 -
pd.to_datetime('2021-03-05').to_pydatetime()
-
包含中文的:
-
pd.to_datetime('2021年03月05日',format='%Y年%m月%d日')
-