<p>对我来说很好:</p>
<pre><code>rng = pd.date_range('2017-04-03', periods=10, freq='20D')
df = pd.DataFrame({'Date': rng, 'a': range(10)})
print (df)
Date a
0 2017-04-03 0
1 2017-04-23 1
2 2017-05-13 2
3 2017-06-02 3
4 2017-06-22 4
5 2017-07-12 5
6 2017-08-01 6
7 2017-08-21 7
8 2017-09-10 8
9 2017-09-30 9
df = df.set_index('Date').last('5M')
print (df)
a
Date
2017-05-13 2
2017-06-02 3
2017-06-22 4
2017-07-12 5
2017-08-01 6
2017-08-21 7
2017-09-10 8
2017-09-30 9
</code></pre>
<hr/>
<p>它还可以很好地处理重复项,只需要排序<code>DateTime</code>列:</p>
^{pr2}$
<pre><code>rng = pd.date_range('2017-04-03', periods=10, freq='20D')
df = pd.DataFrame({'Date': rng, 'a': range(10)})
df = pd.concat([df,df], ignore_index=True)
print (df)
Date a
0 2017-04-03 0
1 2017-04-23 1
2 2017-05-13 2
3 2017-06-02 3
4 2017-06-22 4
5 2017-07-12 5
6 2017-08-01 6
7 2017-08-21 7
8 2017-09-10 8
9 2017-09-30 9
10 2017-04-03 0
11 2017-04-23 1
12 2017-05-13 2
13 2017-06-02 3
14 2017-06-22 4
15 2017-07-12 5
16 2017-08-01 6
17 2017-08-21 7
18 2017-09-10 8
19 2017-09-30 9
df = df.set_index('Date').last('5M')
print (df)
a
Date
2017-05-13 2
2017-06-02 3
2017-06-22 4
2017-07-12 5
2017-08-01 6
2017-08-21 7
2017-09-10 8
2017-09-30 9
</code></pre>