2017-12-29 18 views
0

데이터 프레임의 한 열에 타임 스탬프 목록 (밀리 초 단위)을 저장할 수 있습니다. 그래서 난 다음 코드를 호출 할 수 있습니다타임 스탬프 목록을 읽을 수있는 형식으로 변환 (빠른 방법 필요)

dataframename['columnname'] 

이 나에게 같은 것을 제공 :

0  1512734400000 

1  1512738000000 

2  1512741600000 

을 ...

498 1514527200000 

499 1514530800000 

을 내가 읽을 수에 그들 모두를 변환 할 체재. 다음 코드로 처리 할 수 ​​있습니다.

for x in range(len(dataframename["columnname"])): 
     dataframename['columnname'][x] = datetime.datetime.fromtimestamp(dataframename['columnname'][x]/1000).strftime('%Y-%m-%d %H:%M:%S') 

그러나 너무 많은 시간이 걸립니다. 그것을하는 더 빠른 방법 있는가?

질문에 답변 해 주신 분께 미리 감사드립니다.

답변

1
import pandas as pd 
dataframename['date'] = pd.to_datetime(dataframename['columnname'], unit='ms') 

는 더 많은 예제

에 대한 pandas.to_datetime 문서를 참조하십시오
+0

감사합니다! 그것은 완벽하게 작동합니다! 또한 내 시간대에 따라 조정하려면 데이터 프레임 뒤에 값을 추가하기 만하면됩니다. 예 : GMT + 8 : dataframename [ '날짜'] = pd.to_datetime (데이터 프레임 이름 [ '열 이름'] + 3600 * 1000 * 8, 단위 = 'ms') – MATTHEW

0

팬더는 날짜에 타임 스탬프를 지원하는 아웃 - 오브 - 박스 :

# processing the UNIX timestamps into readable dates (pandas datetime): 
ts_cols = dataframename.select_dtypes(['datetime']).columns 
for col in ts_cols: 
    dataframename['%s' % col] = pd.to_datetime(dataframename['%s' % col], unit='ms') 
:

이 경우
import pandas as pd 
dataframename['datetime'] = pd.to_datetime(dataframename['columnname'], unit='ms') 

여러 열이


팬더 'to_datetime을 외부 날짜 이상 사용하면 성능이 향상됩니다. - it's 2x faster on small dataset, and it'd scale.

관련 문제