从特定日期的pandas DataFrame中选择行

时间:2015-03-04 22:57:37

标签: python pandas

我对大熊猫很新,并且在操作DataFrame方面遇到了问题。

我所拥有的是一个重复日期的DataFrame,我只想保留每小时的日期。

以下是我当前DataFrame的一个示例:

Time                     ColA ColB
5/12/2011 10:00:00 PM     9     4 
5/12/2011 10:15:00 PM     5     3 
5/12/2011 10:30:00 PM     1     1 
5/12/2011 10:45:00 PM     2     3 
5/12/2011 11:00:00 PM     10    4 

因此,结果应该是一个仅包含第一行和最后一行的DataFrame。

Time                     ColA ColB
5/12/2011 10:00:00 PM     9     4
5/12/2011 11:00:00 PM     10    4

2 个答案:

答案 0 :(得分:2)

只要该列已经是日期时间,您就可以访问minute属性并使用它来过滤:

In [26]:

df[df.Time.dt.minute == 0]
Out[26]:
                 Time  ColA  ColB
0 2011-05-12 22:00:00     9     4
4 2011-05-12 23:00:00    10     4

如有必要,请使用以下代码将字符串转换为日期时间:df['Time'] = pd.to_datetime(df['Time')

答案 1 :(得分:1)

确保您的列是日期时间(使用pd.to_datetime)而不是字符串。

df = df[df['Time'].apply(lambda x: x.minute) == 0]