擅长:python、mysql、java
<p>一种方法是将数据按时段分组,然后按rank=1的子集进行排序:</p>
<pre><code>from io import StringIO
import pandas as pd
s = u"""Estimate Value AnnounceDate Period Company
Estimate1: 0,24 01-01-2015 31-12-2015 X
Estimate2: 0,22 08-04-2015 31-12-2015 X
Estimate3: 0,26 07-05-2015 31-12-2014 Y
Estimate4: 0,29 21-09-2015 31-12-2014 Y
Estimate5: 0,21 30-09-2015 31-12-2013 Z"""
df = pd.read_csv(StringIO(s), delimiter=" ")
df['Rank'] = df.groupby(['Period','Company'])['AnnounceDate'].rank(ascending=True)
df[df['Rank']==1]
</code></pre>