2017-10-16 3 views
1

내 팬더 ​​DataFrame df에 다음 형식으로 주어진 타임 스탬프가 있습니다. 2015-03-09 11:09:05.0. 2015-03-09T11:09:05.0 (즉, T으로 구분) 형식으로 변환하려면 어떻게해야하나요? 사용자 정의 형식날짜/시간 형식을 변경하는 방법?

df["dt"] = df["dt"].apply(lambda x: ???) 
+0

차이가 보이지 않습니다 ... – jezrael

+0

@jezrael : 죄송합니다. 업데이트했습니다. – Dinosaurius

답변

2

당신은 거의 있었다. isoformat을 찾고 있습니다. https://docs.python.org/3.6/library/datetime.html#datetime.date.isoformat

import pandas as pd 
df = pd.DataFrame({'dt':pd.to_datetime(['2015-03-09 11:09:05.0'])}) 

df["dt"] = df["dt"].apply(lambda x: x.isoformat()) 

df 

반환

  dt 
0 2015-03-09T11:09:05 

당신은 (isoformat에 매개 변수를 삽입하여 T (기본값)를 변경할 수 있습니다), 예를 들어, df["dt"] = df["dt"].apply(lambda x: x.isoformat(" "))

+1

정말 좋았어, 나도 몰라;) – jezrael

1

사용 strftime :

df = pd.DataFrame({'dt':pd.to_datetime(['2015-03-09 11:09:05.0'])}) 
print (df) 

df["dt"] = df["dt"].dt.strftime('%Y-%m-%dT%H:%M:%S.%f') 
print (df) 
          dt 
0 2015-03-09T11:09:05.000000 

또는 whitespace에 의해 string, 분할로 변환하고 가입 T의 :

df["dt"] = df["dt"].astype(str).str.split().str.join('T') 
관련 문제