我对大熊猫很新,并且在操作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
答案 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]