Pandas를 사용하여 날짜 및 시간 열 결합
시간 데이터로 작업할 때 단일 데이터를 얻기 위해 날짜 및 시간 열을 결합해야 하는 경우가 종종 있습니다. 타임스탬프 값. Pandas는 이를 달성하기 위해 pd.to_datetime() 함수를 포함하여 다양한 옵션을 제공합니다.
문자열 연결 및 pd.to_datetime() 사용
일부 시나리오에서는 날짜 시간 열은 문자열로 저장됩니다. 이를 결합하려면 다음과 같이 간단히 공백으로 연결하면 됩니다.
df['Date'] + ' ' + df['Time']
문자열이 연결되면 pd.to_datetime()을 사용하여 DatetimeIndex 객체로 변환할 수 있습니다.
pd.to_datetime(df['Date'] + ' ' + df['Time'])
이 접근 방식을 사용하면 일반적으로 날짜 및 시간 형식의 조합인 연결된 문자열의 유추 형식을 활용할 수 있습니다.
format= Parameter 사용
그러나 날짜 및 시간 문자열이 표준화된 형식이 아니거나 명시적으로 지정하려는 경우 형식을 지정하려면 다음과 같이 format= 매개변수를 사용할 수 있습니다.
pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')
여기서 형식의 정확한 형식을 지정합니다. 문자열을 연결하여 정확한 변환을 보장합니다.
날짜를 직접 구문 분석
문자열을 연결하는 대신 pd.read_csv( )를parse_dates 매개변수로 사용합니다. 이 매개변수를 사용하면 날짜/시간 개체로 구문 분석할 열 목록을 지정할 수 있습니다.
예를 들어 데이터가 "data.csv"라는 이름의 CSV 파일에 저장된 경우:
import pandas as pd df = pd.read_csv("data.csv", parse_dates=[['Date', 'Time']])
이 경우 Pandas는 지정된 열을 자동으로 DatetimeIndex로 구문 분석합니다.
성능 고려 사항
대규모 데이터세트로 작업할 때는 성능이 매우 중요합니다. 문자열을 연결한 다음 이를 날짜/시간으로 변환하는 것은 날짜 및 시간 정보를 직접 구문 분석하는 것보다 훨씬 더 오래 걸립니다. %timeit 매직 명령을 사용한 다음 타이밍 결과에서 볼 수 있듯이:
# Sample dataframe with 10 million rows df = pd.concat([df for _ in range(1000000)]).reset_index(drop=True) # Time to combine strings and convert to datetime %timeit pd.to_datetime(df['Date'] + ' ' + df['Time']) # Time to parse dates directly %timeit pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')
결과는 특히 대규모 데이터 세트의 경우 직접 구문 분석이 훨씬 더 빠르다는 것을 나타냅니다.
위 내용은 Pandas에서 날짜와 시간 열을 결합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!