2017-03-09 3 views
0

나는 약 1 백만 행의 데이터 세트를 가지고 있고 12 컬럼을 datetime으로 변환하고 싶습니다. 현재 그들은 "객체"유형입니다. 이전에 다음과 같이이 작업을 수행 할 수 있음을 읽었습니다.많은 변수를 Pandas에서 datetime으로 변경하기 - Python

data.iloc[:,7:19] = data.iloc[:,7:19].apply(pd.to_datetime, errors='coerce') 

이 방법도 작동하지만 성능은 매우 떨어집니다. 다른 사람이 언급 한 성능을 수행하여 가속화 될 수있다 :

def lookup(s): 
""" 
This is an extremely fast approach to datetime parsing. 
For large data, the same dates are often repeated. Rather than 
re-parse these, we store all unique dates, parse them, and 
use a lookup to convert all dates. 
""" 
dates = {date:pd.to_datetime(date) for date in s.unique()} 
return s.apply(lambda v: dates[v]) 

그러나, 나는 내 데이터 (I 초보자 해요)에이 코드를 적용하는 방법을 잘 모르겠어요. 누구든지이 코드 또는 다른 방법을 사용하여 datetime에 많은 열을 변경하는 속도를내는 방법을 알고 있습니까? 감사!

+1

를 얻기 위해 팬더 API를 찾아 볼 것입니다 모든 날짜가 동일한 형식을 가지고 있습니까 – Vaishali

+0

더 좋아? – MaxU

+0

예, 모든 날짜가 동일합니다. – user3910919

답변

0

모든 날짜의 형식이 동일한 경우 dateparse 함수를 정의한 다음 가져올 때 인수로 전달할 수 있습니다. Furst를 사용하여 datetime을 가져온 다음 datetime.strf (여기서 # 형식을 정의하십시오)를 사용하십시오.

일단 함수가 정의되면 pandas에서 구문 분석 날짜 옵션을 True로 설정하면 날짜 파서를 호출 할 수있는 옵션이 생깁니다. 당신은 date parser = yourfunction을 넣을 것입니다.

CSV, pd.read_csv (parse_dates = true)를 읽는 동안 나는 parse_dates 인수를 사용하여 특정 구문에게 큰 dataframes를 들어

관련 문제