Skip to content

DataStruct series 模块

通用序列数据结构模块,提供带有 MultiIndex 的 Series 数据处理功能。

模块结构

series.py

SeriesData

通用序列数据结构。

python
from FQData.DataStruct import SeriesData

series_data = SeriesData(series)

初始化参数

参数类型说明
seriespd.SeriesSeries 数据,必须有 MultiIndex (datetime, code) 或 DatetimeIndex

数据预处理

  • 自动排序索引
  • 自动检测 MultiIndex 类型

属性

属性类型说明
seriespd.Series原始 Series
if_multiindexbool是否 MultiIndex
indexpd.Index数据索引
codeList[str]股票代码列表(MultiIndex 时)
datetimeList[pd.Timestamp]时间列表(MultiIndex 时)
dateList日期列表

方法

new

通过 Series 新建一个 SeriesData。

python
new_series_data = series_data.new(new_series)

参数:

参数类型说明
seriespd.Series新的 Series 数据

返回: SeriesData - 新实例


select_code

按股票代码筛选。

python
filtered = series_data.select_code('600000')

参数:

参数类型说明
codestr股票代码

返回: SeriesData - 筛选后的新实例


select_time

按时间筛选。

python
filtered = series_data.select_time('2024-01-01')

filtered = series_data.select_time('2024-01-01', '2024-12-31')

参数:

参数类型说明
startstr开始时间
endstr结束时间,None 时只筛选 start 当天

返回: SeriesData - 筛选后的新实例


to_series

转换为 Series。

python
series = series_data.to_series()

返回: pd.Series


to_dataframe

转换为 DataFrame。

python
df = series_data.to_dataframe()

返回: pd.DataFrame


使用示例

基本使用

python
from FQData.DataStruct import SeriesData

series_data = SeriesData(series)

print(f"是否 MultiIndex: {series_data.if_multiindex}")
print(f"代码列表: {series_data.code}")
print(f"时间列表: {series_data.datetime}")

筛选操作

python
# 按代码筛选
stock_series = series_data.select_code('600000')

# 按时间筛选
day_series = series_data.select_time('2024-01-01')

# 按时间范围筛选
range_series = series_data.select_time('2024-01-01', '2024-12-31')

转换

python
series = series_data.to_series()

df = series_data.to_dataframe()

相关文档