Python3 如何使用Pandas库将日数据转换为周数据、月数据或季度数据

    技术2022-07-11  108

    Python3 如何使用Pandas库将日数据转换为周数据、月数据或季度数据

    最近碰到了需要对某只股票的时间序列日数据,转换为3天、5天、周数据、月数据、两月一次的数据(bimonthly data)、季度数据的需求,做个笔记记录一下:

    # 数据来源于tushare, 包括股票代码(ts_code)、 交易日期(trade_date)、最高价(high)、最低价(low)、收盘价(close)等 # 省略数据获取的过程,数据格式为DataFrame import pandas as pd ''' 将数据转换为时间序列数据, 调用pandas的to_datetime函数''' data['trade_date'] = pd.to_datetime(data['trade_date']) '''获取周数据:调用resample 重采样方法,对数据每周采一次样,根据我的需求,取最后一个作为close price''' weekly_data = data.resample('W', on="trade_date").last() '''获取bi-weekly data,每两周采一次样,返回两周内数据的均值; 频率可以改为 ‘3W' 等''' weekly_data = data.resample('2W', on="trade_date").mean() '''同理获取月数据/bi-monthly 数据''' monthly_data = data.resample('M', on="trade_date").last() bimonthly_data = data.resample('2M', on="trade_date").last() '''转为季度数据''' quarterly_data = data.resample('Q', on="trade_date").last() resample 方法也可以对分钟数据进行重采样,更多用法详见官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html?highlight=resample#pandas.DataFrame.resample
    Processed: 0.019, SQL: 9