获取列包含日期,小时,秒的特殊日期列

时间:2016-11-25 07:48:58

标签: python pandas

我有一个数据框:

 df=pandas.DataFrame([{'remarkTime':'2014-03-03  10:18','name':'a'},{'remarkTime':'2015-05-03  09:12','name':'b'},
                     {'remarkTime':'2014-03-03  18:12','name':'c'}])

我想获得2014-03-03的remarkTime。结果是这样的:

   name  remarkTime
0    a  2014-03-03
1    c  2014-03-03

首先,我尝试使用" =="或" in"获得排。但是" =="并不适合这种情况。其次,我尝试拆分" 2014-03-03 10:18"。但它失败了。

非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为您可以使用boolean indexingdatedate进行比较。最后一次解析date

#convert to datetime if necessary
df.remarkTime = pd.to_datetime(df.remarkTime)

print (df.remarkTime.dt.date == pd.Timestamp(2014,3,3).date())
0     True
1    False
2     True
Name: remarkTime, dtype: bool

df = df[df.remarkTime.dt.date == pd.Timestamp(2014,3,3).date()]
print (df)
  name          remarkTime
0    a 2014-03-03 10:18:00
2    c 2014-03-03 18:12:00

df.remarkTime = df.remarkTime.dt.date
print (df)
  name  remarkTime
0    a  2014-03-03
2    c  2014-03-03