2016-11-25 1 views
1

를 얻을 :나는 dataframe이 열은 날짜, 시간을 포함하는 특별한 날짜 열, 초

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년 3월 3일 인 remarkTime를 얻을 싶어합니다. 이 같은 결과 :

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

는 첫째, 내가 "의" "=="사용을 시도하거나 행을 얻을 수 있습니다. 하지만 "=="이 상황에 적합하지 않습니다. 두 번째로, 나는 "2014-03-03 10:18"을 분할하려고합니다. 하지만 실패했습니다.

고맙습니다.

답변

1

datedate을 비교하면 boolean indexing을 사용할 수 있다고 생각합니다. 마지막 구문 분석 : 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