Pandas DataFrame 열 데이터 형식을 문자열에서 날짜 시간 형식으로 변환하는 방법
Pandas DataFrame 열 데이터 형식을 문자열에서 날짜 시간 형식으로 변환하는 방법
다음은 Pandas DataFrame 열 데이터 형식을 문자열에서 날짜 시간 형식으로 변환하는 두 가지 일반적인 방법입니다.
pd.to_datetime() 함수 사용
pd.to_datetime()
함수는 문자열 값을 Pandas 날짜 시간 객체로 변환하는 데 사용됩니다. 이 함수는 다음과 같은 매개 변수를 사용할 수 있습니다.
errors
: 문자열을 날짜 시간 형식으로 변환할 수 없는 경우 발생하는 오류 처리 방법을 지정합니다. 기본값은 'raise'입니다.format
: 문자열의 날짜 시간 형식을 지정합니다. 기본값은 None이며, 이 경우 Pandas는 문자열 형식을 자동으로 추측합니다.coerce
: True로 설정하면 Pandas는 가능한 한 문자열을 날짜 시간 형식으로 변환하려고 시도합니다. 기본값은 False입니다.
다음은 pd.to_datetime()
함수를 사용하여 DataFrame 열을 변환하는 예제입니다.
import pandas as pd
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
df = pd.DataFrame(data)
# '날짜' 열을 날짜 시간 형식으로 변환
df['날짜'] = pd.to_datetime(df['날짜'])
# 변환된 DataFrame 출력
print(df)
이 코드는 다음과 같은 출력을 생성합니다.
날짜
0 2023-01-01
1 2023-02-02
2 2023-03-03
DataFrame.astype() 메서드 사용
DataFrame.astype()
메서드는 DataFrame 열의 데이터 형식을 지정된 형식으로 변환하는 데 사용됩니다. 날짜 시간 형식을 지정하려면 dtype
매개 변수에 datetime64[ns]
를 사용합니다.
import pandas as pd
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
df = pd.DataFrame(data)
# '날짜' 열을 날짜 시간 형식으로 변환
df['날짜'] = df['날짜'].astype('datetime64[ns]')
# 변환된 DataFrame 출력
print(df)
이 코드는 위의 예제와 동일한 출력을 생성합니다.
두 방법 모두 DataFrame 열 데이터 형식을 문자열에서 날짜 시간 형식으로 효과적으로 변환하는 데 사용할 수 있습니다. 특정 상황에 따라 적합한 방법을 선택할 수 있습니다.
주의 사항:
- 날짜 시간 형식을 변환하기 전에 데이터가 올바른 형식인지 확인하십시오. 잘못된 형식의 데이터는 오류를 발생시킬 수 있습니다.
- 변환된 날짜 시간 열을 사용하여 계산하거나 분석하기 전에 데이터 형식이 올바른지 확인하십시오.
예제 코드: Pandas DataFrame 열 데이터 형식을 문자열에서 날짜 시간 형식으로 변환
pd.to_datetime() 함수 사용
import pandas as pd
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
df = pd.DataFrame(data)
# '날짜' 열을 날짜 시간 형식으로 변환
df['날짜'] = pd.to_datetime(df['날짜'])
# 변환된 DataFrame 출력
print(df)
날짜
0 2023-01-01
1 2023-02-02
2 2023-03-03
설명:
import pandas as pd
: Pandas 라이브러리를pd
라는 별칭으로 가져옵니다.data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
: '날짜'라는 키를 가진 딕셔너리를 만들고, 값으로는 '2023-01-01', '2023-02-02', '2023-03-03' 문자열 리스트를 지정합니다.df = pd.DataFrame(data)
: 딕셔너리를 Pandas DataFrame으로 변환하여 'df' 변수에 저장합니다.df['날짜'] = pd.to_datetime(df['날짜'])
: '날짜' 열을pd.to_datetime()
함수를 사용하여 날짜 시간 형식으로 변환합니다.print(df)
: 변환된 DataFrame을 출력합니다.
DataFrame.astype() 메서드 사용
import pandas as pd
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
df = pd.DataFrame(data)
# '날짜' 열을 날짜 시간 형식으로 변환
df['날짜'] = df['날짜'].astype('datetime64[ns]')
# 변환된 DataFrame 출력
print(df)
- 코드의 첫 3줄은 위 예제와 동일합니다.
df['날짜'] = df['날짜'].astype('datetime64[ns]'): '날짜' 열의 데이터 형식을
astype()` 메서드를 사용하여 'datetime64[ns]'로 변환합니다.
두 코드 모두 동일한 결과를 생성하지만, 상황에 따라 적합한 방법을 선택할 수 있습니다.
pd.to_datetime()
함수는 날짜 시간 형식 문자열을 직접 변환하는 데 유용합니다.DataFrame.astype()
메서드는 DataFrame 열의 데이터 형식을 지정된 형식으로 변환하는 데 유용하며, 날짜 시간 형식 외에도 다양한 형식 변환에 사용할 수 있습니다.
추가 정보
Pandas DataFrame 열 데이터 형식을 문자열에서 날짜 시간 형식으로 변환하는 대체 방법
datetime 모듈과 함께 사용하는 apply() 함수 사용
datetime
모듈은 Python에서 날짜 및 시간을 처리하는 데 사용되는 표준 모듈입니다. apply()
함수는 DataFrame의 각 행 또는 열에 함수를 적용하는 데 사용할 수 있습니다.
다음은 datetime
모듈과 함께 apply()
함수를 사용하여 DataFrame 열을 변환하는 예제입니다.
import pandas as pd
import datetime
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
df = pd.DataFrame(data)
# '날짜' 열을 날짜 시간 형식으로 변환
def str_to_datetime(date_str):
return datetime.datetime.strptime(date_str, '%Y-%m-%d')
df['날짜'] = df['날짜'].apply(str_to_datetime)
# 변환된 DataFrame 출력
print(df)
날짜
0 2023-01-01
1 2023-02-02
2 2023-03-03
import pandas as pd
,import datetime
: Pandas 및datetime
모듈을 가져옵니다.def str_to_datetime(date_str)
: 'date_str' 문자열을 '%Y-%m-%d' 형식으로 파싱하여datetime
객체로 변환하는 함수를 정의합니다.df['날짜'] = df['날짜'].apply(str_to_datetime)
:apply()
함수를 사용하여 '날짜' 열의 각 값에str_to_datetime()
함수를 적용합니다. 이는 각 문자열 값을 날짜 시간 객체로 변환합니다.
lambda 표현식 사용
lambda
표현식은 간단한 함수를 정의하는 데 사용할 수 있는 익명 함수입니다.
다음은 lambda
표현식을 사용하여 DataFrame 열을 변환하는 예제입니다.
import pandas as pd
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '2023-03-03']}
df = pd.DataFrame(data)
# '날짜' 열을 날짜 시간 형식으로 변환
df['날짜'] = df['날짜'].apply(lambda x: pd.to_datetime(x))
# 변환된 DataFrame 출력
print(df)
str.replace() 및 to_datetime() 함수 사용
str.replace()
함수는 문자열에서 특정 문자열을 다른 문자열로 바꾸는 데 사용할 수 있습니다.
import pandas as pd
# 문자열 데이터가 포함된 DataFrame 만들기
data = {'날짜': ['2023-01-01', '2023-02-02', '202
python pandas dataframe