반응형
Notice
Recent Posts
Recent Comments
Link
개발은 처음이라 개발새발
파이썬 열 분리 [python/pandas] 본문
반응형
하나의 열이 여러가지 정보를 가지고 잇을 때 각 정보를 서로 분리해서 사용하는 경우가 있는데요. 그중에서 대표적인 것이 날짜 정보겠죠. 예를 들어 날짜라는 컬럼 안에 "2022-08-20" 이라는 정보가 담겨 있다면 날짜라는 컬럼에 연도, 월, 일 총 3가지의 정보가 담겨 있는 것입니다. 이름 같은 경우도 성과 이름을 모두 담고 있기 때문에 좀 더 데이터를 세분화해 다루기 위해서는 이를 분리해 구분하는 것이 좋습니다. 이번 시간에는 주가데이터 예제를 통해서 코딩을 진행해보겠습니다.
import pandas as pd
#데이터셋 가져오기
df = pd.read_excel('./주가데이터.xlsx')
print(df.head(),'\n')
print(df.dtypes,'\n')
#연,월,일 데이터 분리하기
df['연월일'] = df['연월일'].astype('str') #문자열 매소드 사용을 위해 자료형 변경
dates = df['연월일'].str.split('-') #문자열 split() 매소드로 분리
print(dates.head(),'\n')
연월일 당일종가 전일종가 시가 고가 저가 거래량
0 2018-07-02 10100 600 10850 10900 10000 137977
1 2018-06-29 10700 300 10550 10900 9990 170253
2 2018-06-28 10400 500 10900 10950 10150 155769
3 2018-06-27 10900 100 10800 11050 10500 133548
4 2018-06-26 10800 350 10900 11000 10700 63039
연월일 datetime64[ns]
당일종가 int64
전일종가 int64
시가 int64
고가 int64
저가 int64
거래량 int64
dtype: object
0 [2018, 07, 02]
1 [2018, 06, 29]
2 [2018, 06, 28]
3 [2018, 06, 27]
4 [2018, 06, 26]
Name: 연월일, dtype: object
datetime으로 저장된 연원일을 문자열로 변환후 .split()매소드를 통해 연도, 월, 일 3개의 데이터로 분리 후 dates 변수에 저장했습니다. 마지막 결과를 보면 리스트 형식으로 들어가 있는 것을 확인할 수 있습니다. 자 이제 분리한 것을 get()매소드를 활용해 3개의 데이터를 다른 컬럼에 넣어보도록 하겠습니다.
#분리된 정보를 각각 새로운 열에 담아 추가하기
df['연'] = dates.str.get(0)
df['월'] = dates.str.get(1)
df['일'] = dates.str.get(2)
print(df.head())
연월일 당일종가 전일종가 시가 고가 저가 거래량 연 월 일
0 2018-07-02 10100 600 10850 10900 10000 137977 2018 07 02
1 2018-06-29 10700 300 10550 10900 9990 170253 2018 06 29
2 2018-06-28 10400 500 10900 10950 10150 155769 2018 06 28
3 2018-06-27 10900 100 10800 11050 10500 133548 2018 06 27
4 2018-06-26 10800 350 10900 11000 10700 63039 2018 06 26
네 이렇게 분리된 데이터를 컬럼을 추가해 넣어봤습니다. 물론 날짜의 경우 시계열 데이터를 통해서도 분리할 수 있지만 이와 같은 방법으로도 분리가 가능하다는 걸 확인해봤습니다. 다음 시간에는 두개 데이터프레임을 합치는 거에 대해 알아보도록 하겠습니다.
반응형
'파이썬 > 판다스' 카테고리의 다른 글
merge()함수로 데이터프레임 병합하기 [python/pandas] (0) | 2022.09.03 |
---|---|
concat() 함수로 여러 데이터프레임 합치기 [python/pandas] (0) | 2022.08.21 |
isin()매소드를 활용한 필터링 [python/pandas] (0) | 2022.08.19 |
파이썬으로 필터링하기 [python/pandas] (0) | 2022.08.15 |
파이썬 날짜 인덱스 활용 - 시계열 데이터 활용2 [python/pandas] (0) | 2022.08.12 |