2

我正在使用以下格式的大型熊猫数据框:

In [15]: data.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 2869438 entries, 2011-09-26 22:00:00.078000 to 2011-12-30 22:14:57.413000
Data columns (total 3 columns):
Symbol    2869438  non-null values
Price     2869438  non-null values
Vol       2869438  non-null values
dtypes: float64(1), int64(1), object(1)

我已经能够使用以下方法将其拆分为常规周:

weeks = data.groupby(data.index.week)
weeks.groups.keys()
Out[19]: [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52]

对于这个特定的数据框,周定义为'Sun Mon Tue Wed Thu Fri'

from pandas.tseries.offsets import CustomBusinessDay
weekmask = 'Sun Mon Tue Wed Thu Fri'
bday = CustomBusinessDay(weekmask=weekmask)
weeks = data.groupby(bday)

这给了我按时间戳索引而不是按周数索引的组。

这可能不是实现这一目标的最佳方法,任何人都可以提供替代技术吗?

更新:

这是我正在使用的数据集的头部和尾部:

data.head()
                             Symbol Price   Vol
DateTime            
2011-09-26 22:00:00.078000   CLX11   81.48   1
2011-09-26 22:00:00.192000   CLX11   81.46   1
2011-09-26 22:00:00.343000   CLX11   81.47   1
2011-09-26 22:00:00.443000   CLX11   81.46   1
2011-09-26 22:00:00.443000   CLX11   81.45   4

data.tail()
                             Symbol Price   Vol
DateTime            
2011-12-30 22:14:40.877000   CLG12   99.05   1
2011-12-30 22:14:43.287000   CLG12   99.06   1
2011-12-30 22:14:55.165000   CLG12   99.04   1
2011-12-30 22:14:55.165000   CLG12   99.03   1
2011-12-30 22:14:57.413000   CLG12   99.06   3

我只想将这些数据切割成几周并将其写入 CSV 文件,我已经可以在常规几周(周一至周日)执行此操作,但我现在想将其切割成定义为周日至周五的几周。

任何人都可以帮忙吗?的使用CustomBuisnessDay可能不是我想要的,尽管它似乎确实适合用例。

4

0 回答 0