我有一个数据框:
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"。但它失败了。
非常感谢!
答案 0 :(得分:1)
我认为您可以使用boolean indexing
将date
与date
进行比较。最后一次解析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