我正在使用以下格式的大型熊猫数据框:
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
可能不是我想要的,尽管它似乎确实适合用例。