Python 按自定义周拆分数据帧
我正在使用以下格式的大熊猫数据帧:Python 按自定义周拆分数据帧,python,pandas,Python,Pandas,我正在使用以下格式的大熊猫数据帧: 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 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)
对于这个特定的数据帧,周被定义为“星期一、星期二、星期二、星期四、星期五”
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
的使用可能不是我想要的,尽管它看起来确实适合这个用例 你能发布一个数据帧的小例子吗?这样更容易操作。我不明白这个问题,你是想在计算中访问组名(周数)吗?@AndyHayden很抱歉,我已经更新了这个问题以提供更清晰的信息。
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