我有一个数据帧HistDf5,有一个datetime索引和4列。我想计算每个日期内每个日期的行数(即“次数”),并选择“次数”最多的日期
OPEN CLOSE HIGH LOW VOL
DTYYYYMMDD
2011-01-02 18:00:00 0.00 1.25 1.50 -0.75 24.907415
2011-01-02 18:05:00 1.25 0.50 1.75 0.25 25.743008
2011-01-02 18:10:00 0.25 0.00 0.50 0.00 22.310852
2011-01-02 18:15:00 0.25 0.75 0.75 0.25 21.303043
2011-01-02 18:20:00 0.75 0.25 0.75 0.00 15.431916
... ... ... ... ...
2014-06-24 23:35:00 -9.75 -9.50 -9.50 -10.00 16.471735
2014-06-24 23:40:00 -9.50 -9.50 -9.50 -10.00 18.634443
2014-06-24 23:45:00 -9.75 -9.50 -9.50 -10.00 13.974959
2014-06-24 23:50:00 -9.50 -9.75 -9.50 -9.75 12.305773
2014-06-24 23:55:00 -9.50 -9.75 -9.50 -9.75 15.471089
[365544 rows x 5 columns]
计算每个日期的条目数很简单。然而,一旦我有了我想要的日期,我就不知道如何分割数据帧来只选择那些“次数”最多的日期
CountDF = HistDf5.groupby(HistDf5.index.date)['VOL'].count()
IndxLst = CountDF[CountDF == CountDF.max()].index
HistDf5 = HistDf5.loc[IndxLst]
OPEN CLOSE HIGH LOW VOL
2011-01-03 0.0 0.25 0.25 0.00 5.598422
2011-01-04 0.0 0.00 0.25 0.00 5.375278
2011-01-05 0.0 0.00 0.25 0.00 9.965758
2011-01-06 0.0 -0.25 0.00 -0.50 12.894489
2011-01-07 0.0 0.00 0.00 -0.25 3.871201
... ... ... ... ...
2014-06-20 0.0 0.00 0.00 -0.25 11.530156
2014-06-21 NaN NaN NaN NaN 0.000000
2014-06-22 NaN NaN NaN NaN 0.000000
2014-06-23 0.0 0.25 0.25 0.00 4.499810
2014-06-24 0.0 0.25 0.25 0.00 14.659017
[1269 rows x 5 columns]
如果我理解正确,您可以使用transform,然后选择max count
相关问题 更多 >
编程相关推荐