首页 > 解决方案 > 从对应于月日列表的熊猫数据框中提取行

问题描述

这一定是以前问过的,但我找不到我要找的东西,如果重复,请道歉。我有一个数据框df,其中索引位于 python 日期时间中:

1982-01-01  [282.7945979191705, 279.12373352050776, 277.74...
1982-01-02  [279.12373352050776, 277.7481374216604, 278.21...
1982-01-03  [277.7481374216604, 278.21691274118945, 276.85...
1982-01-04  [278.21691274118945, 276.85932268415183, 273.1...
1982-01-05  [276.85932268415183, 273.12550555218706, 273.4...
...
2001-12-27  [277.50443007919813, 274.45894647954583, 274.6...
2001-12-28  [274.45894647954583, 274.6708258324927, 275.59...
2001-12-29  [274.6708258324927, 275.59033873840997, 274.35...
2001-12-30  [275.59033873840997, 274.3595948271699, 274.92...
2001-12-31  [274.3595948271699, 274.92645028921316, 283.02...

dates现在我有一个我想过滤的月份列表:

Index(['01-08', '01-23', '02-07', '02-22', '03-09', '03-24', '04-08', '04-23',
       '05-08', '05-23', '06-07', '06-22', '07-07', '07-22', '08-06', '08-21',
       '09-05', '09-20', '10-05', '10-20', '11-04', '11-19', '12-04', '12-19'],
      dtype='object')

如何从与这些日期对应的数据框中提取所有行?我试过df.loc[dates]了,但这不起作用。

标签: pythonpandaspython-datetime

解决方案


使用strftime

yourdf=df[df.index.strftime('%m-%d').isin(dates)].copy()

推荐阅读