안녕하세요 이번 포스팅은 Python의 Pandas 패키지를 이용한 DataFrame 함수를 활용하는 방법 중에 Index를 날짜 간격으로 선언, nan 값 Sort 하는 방법까지 설명드리도록 하겠습니다.
코드 구현을 위한 Source Data DataFrame 화 하기
: 일단 DataFrame을 구현하기 위한 Source Data를 구현해보도록 하겠습니다. 이전 포스팅에서 설명드린 것처럼 DataFrame을 구현하기 위해서는 Dictionary로 구현되어 있는 Data Source가 필요합니다. 아래와 같이 예시 Data를 구현해보도록 하겠습니다. (참고로 이 부분은 이전 포스팅에서 똑같은 Source Data를 사용하고 있다는 걸 참조해주세요.)
# 필요한 패키지를 먼저 선언을 합니다.
import pandas as pd
import numpy as np
# 예시 Source Data를 구현하여, pandas를 이용하여 DataFrame화 시키는 코드입니다.
data = {"names": ["Kim", "Park", "Jang", "Kim", "MC-Yoo"],
"NumberofYear" : [2014, 2015, 2017, 2018, 2019],
"Value": [90, 86, 77, 99, 75]}
df = pd.DataFrame(data, columns=["names", "NumberofYear", "Value", "remarks"],
index=["first_row", "second_row", "third_row", "forth_row", "fifth_row"])
▼ 위의 Data는 예시로 한 것이고, Source Data는 원하시는 내용으로 다시 수정해서 구현하셔도 됩니다.
Index를 날짜 간격으로 선언
▼ 아래와 같이 예시 코드를 짜 봤습니다. 참조 부탁드립니다.
# Column 과 Index를 새로 선언하여 수정함
# Index의 경우에는 20210101 날짜 시점으로 행의 개수인 6을 입력
df.columns = ['Column1', 'Column2', 'Column3', 'Column4']
df.index = pd.date_range('20210101', periods=6)
Column1 Column2 Column3 Column4
2021-01-01 -0.104210 1.073584 -0.865588 -0.904132
2021-01-02 -0.192505 0.553214 1.732118 -1.286512
2021-01-03 -0.330982 -0.165117 0.704142 1.110536
2021-01-04 0.605906 -0.027792 0.008165 0.834904
2021-01-05 -0.762721 -0.072225 -1.510627 -1.702516
2021-01-06 0.885718 -0.499257 -0.311006 1.041797
Process finished with exit code 0
nan 값 Sort 하는 방법
▼ 그럼 두 가지 모두 다 아래와 같이 예시 코드를 통해서 설명드리도록 하겠습니다.
# 현재 df DataFrame 값에 임의로 nan 값을 입력하기 위해 Column5를 선언 및 입력
df['Column5'] = [5.0, np.nan, 5.5, 6.5, 10.0, np.nan]
# NaN 속성값을 하나 라도 가지고 있으며 누락시키는 코드
print(df.dropna(how='any'))
# 모든 속성 값이 NaN 경우에에 누락시키는 코드
print(df.dropna(how='all'))
위 코드를 실행을 시켜 보면 아래와 같이 nan 가 하나라도 있으면 누락이 되는 결과와 모든 value 값이 nan이 경우에 누락이 되는 경우 이렇게 2가지 결과 값을 보실 수 있습니다. 모든 value 값을 가지고 있는 행은 없기 때문에 누락이 안 되는 걸 확인하실 수 있습니다.
# nan value가 하나라도 있는 행은 누락하는 결과
Column1 Column2 Column3 Column4 Column5
2021-01-01 1.316169 0.255095 -1.294022 -0.287976 5.0
2021-01-03 0.959540 0.437421 0.603966 -0.718117 5.5
2021-01-04 0.468466 0.423073 0.103835 -0.622743 6.5
2021-01-05 -0.338243 0.579866 -0.108100 -0.758439 10.0
# 어떤 특정행의 모든 value가 nan인 경우 누락하는 결과
# 모든 value의 값이 nan인 경우가 없으니까 그대로 출력되는 걸 확인
Column1 Column2 Column3 Column4 Column5
2021-01-01 1.316169 0.255095 -1.294022 -0.287976 5.0
2021-01-02 -1.312929 -0.325931 -0.228680 -1.227987 NaN
2021-01-03 0.959540 0.437421 0.603966 -0.718117 5.5
2021-01-04 0.468466 0.423073 0.103835 -0.622743 6.5
2021-01-05 -0.338243 0.579866 -0.108100 -0.758439 10.0
2021-01-06 0.887039 -1.128454 1.368624 1.121169 NaN
Process finished with exit code 0
이상입니다. 지금까지 Python의 Pandas 패키지를 이용한 DataFrame 함수를 활용하는 방법 중에 Index를 날짜 간격으로 선언, nan 값 Sort 하는 방법에 대해서 포스팅을 작성하였습니다. 위 코드를 이해하셨으면 실제로 파이 참에서 실행을 해보시는 걸 추천드립니다. 그럼 최고의 프로그래머가 되는 데 조금이나 도움이 되었으면 좋겠습니다. 이만 마무리하도록 하겠습니다. 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁드립니다. 검토 후 수정 및 삭제 조치하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을 때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
관련 다른 글
'파이썬 (Python) > Pandas' 카테고리의 다른 글
Python Panda Column 삭제 및 Data 수치 합산하는 방법 (0) | 2021.06.02 |
---|---|
Python Panda NaN 값 처리 및 확인 하는 방법 (0) | 2021.06.02 |
Python Panda Random Data를 이용한 DataFrame 구현하는 방법 (0) | 2021.05.06 |
Python Panda 행 Data 추가 및 Boolean 값 출력하는 방법 (0) | 2021.04.19 |
Python Panda Column 삭제 및 원하는 행 Data 출력 (0) | 2021.04.17 |
댓글