[python] 팬더 열을 DateTime으로 변환

팬더 DataFrame에 문자열 형식으로 가져온 필드가 하나 있습니다. 날짜 / 시간 변수 여야합니다. 날짜 시간 열로 변환 한 다음 날짜를 기준으로 필터링하는 방법은 무엇입니까?

예:

  • 데이터 프레임 이름 : raw_data
  • 열 이름 : Mycol
  • 열의 값 형식 : ’05SEP2014 : 00 : 00 : 00.000′


답변

데이터와 일치 to_datetime하는 형식 을 지정 하여 함수를 사용하십시오 .

raw_data['Mycol'] =  pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')


답변

DataFrame 메서드 .apply()를 사용하여 Mycol 의 값을 조작 할 수 있습니다 .

>>> df = pd.DataFrame(['05SEP2014:00:00:00.000'],columns=['Mycol'])
>>> df
                    Mycol
0  05SEP2014:00:00:00.000
>>> import datetime as dt
>>> df['Mycol'] = df['Mycol'].apply(lambda x: 
                                    dt.datetime.strptime(x,'%d%b%Y:%H:%M:%S.%f'))
>>> df
       Mycol
0 2014-09-05


답변

변환 할 컬럼이 둘 이상인 경우 다음을 수행 할 수 있습니다.

df[["col1", "col2", "col3"]] = df[["col1", "col2", "col3"]].apply(pd.to_datetime)


답변

raw_data['Mycol'] =  pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')

작동하지만 Python의 경고가 발생합니다 .DataFrame의 슬라이스 사본에 A 값을 설정하려고합니다. .loc[row_indexer,col_indexer] = value대신 사용해보십시오

나는 이것이 체인 체인 인덱싱 때문이라고 생각합니다.


답변

pandas to_datetime함수를 사용하여 열을 DateTime으로 구문 분석하십시오. 또한를 사용 infer_datetime_format=True하면 형식을 자동으로 감지하고 언급 된 열을 DateTime으로 변환합니다.

import pandas as pd
raw_data['Mycol'] =  pd.to_datetime(raw_data['Mycol'], infer_datetime_format=True)


답변