반응형
Pandas에서 datetime 형식을 변경하는 방법
DOB 열 샘플 값은 1/1/2016
다음과 같이 기본적으로 개체로 변환되는 형식입니다.
DOB object
날짜 형식으로 변환
df['DOB'] = pd.to_datetime(df['DOB'])
날짜 변환
2016-01-26
dtype
이다
DOB datetime64[ns]
이제이 날짜 형식을 01/26/2016
다른 일반 날짜 형식 으로 변환하고 싶습니다 . 어떻게하나요?
내가 시도하는 방법이 무엇이든 항상 날짜를 2016-01-26
형식으로 표시 합니다.
다른 형식 dt.strftime
으로 변환해야하는 경우 사용할 수 있습니다 datetime
(그러나 dtype
열은 object
( string
)이됩니다).
import pandas as pd
df = pd.DataFrame({'DOB': {0: '26/1/2016', 1: '26/1/2016'}})
print (df)
DOB
0 26/1/2016
1 26/1/2016
df['DOB'] = pd.to_datetime(df.DOB)
print (df)
DOB
0 2016-01-26
1 2016-01-26
df['DOB1'] = df['DOB'].dt.strftime('%m/%d/%Y')
print (df)
DOB DOB1
0 2016-01-26 01/26/2016
1 2016-01-26 01/26/2016
형식을 변경하지만 유형은 변경하지 않음 :
df['date'] = pd.to_datetime(df["date"].dt.strftime('%Y-%m'))
아래 코드는 이전 코드 대신 저에게 효과적이었습니다.
df['DOB']=pd.to_datetime(df['DOB'].astype(str), format='%m/%d/%Y')
첫 번째 답변과 비교하여 dt.strftime ()을 먼저 사용하고 pd.to_datetime ()을 사용하는 것이 좋습니다. 이런 식으로 여전히 datetime 데이터 유형이됩니다.
예를 들면
import pandas as pd
df = pd.DataFrame({'DOB': {0: '26/1/2016 ', 1: '26/1/2016 '})
print(df.dtypes)
df['DOB1'] = df['DOB'].dt.strftime('%m/%d/%Y')
print(df.dtypes)
df['DOB1'] = pd.to_datetime(df['DOB1'])
print(df.dtypes)
아래 코드는 'datetime'유형으로 변경되고 지정된 형식 문자열의 형식도 지정합니다. 잘 작동합니다!
df['DOB']=pd.to_datetime(df['DOB'].dt.strftime('%m/%d/%Y'))
이것을 시도하면 날짜 형식이 DD-MM-YYYY로 변환됩니다.
df['DOB'] = pd.to_datetime(df['DOB'], dayfirst = True)
참조 URL : https://stackoverflow.com/questions/38067704/how-to-change-the-datetime-format-in-pandas
반응형
'Programing' 카테고리의 다른 글
Get path and query string from URL using javascript (0) | 2020.12.15 |
---|---|
PHPStorm 새 파일 브랜딩 비활성화 (0) | 2020.12.15 |
람다를 이해하려고 (0) | 2020.12.15 |
Perl에서 정수 나누기를 어떻게해야합니까? (0) | 2020.12.15 |
육각형지도 타일로 지구 덮기 (0) | 2020.12.15 |