본문 바로가기
파이썬 (Python)/Pandas

Python Panda Column 삭제 및 원하는 행 Data 출력

by ★√★ 2021. 4. 17.

안녕하세요 이번 포스팅은 Python의 Pandas 패키지를 이용한 DataFrame 함수를 활용하는 방법 중에 Column을 삭제하는 방법 및 원하는 행의 Data를 출력하는 방법에 설명 드리도록 하겠습니다. 

 

pandas-열-삭제-행-데이터-출력
pandas-열-삭제-행-데이터-출력

 

코드 구현을 위한 Source Data DataFrame 화 하기

 

: 일단 DataFrame을 구현하기 위한 Source Data를 구현해보도록 하겠습니다. 이전 포스팅에서 설명 드린 것처럼 DataFrame을 구현하기 위해서는 Dictionary로 구현되어 있는 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는 원하시는 내용으로 다시 수정해서 구현하셔도 됩니다.

 

DataFrame Data에서 원하는 Column 삭제하기

 

: DataFrame화 한 Data 테이블에서 원하는 Column을 삭제해보기로 하겠습니다. 기존에 입력한 Data가 아닌 새로운 Column을 추가하여 그 추가된 Column을 삭제해보도록 하겠습니다. 일단 Column 추가하는 코드를 구현해보도록 하겠습니다. 

 

# 새로운 Column울 추가하는 코드 작성 
df['test02_data_to_be_deleted'] = np.random.rand(5)

print('=============== 지울 Column을 추가 함 (랜덤 숫자를 입력) ===============')
print(df)
print()

 

 위 코드를 구현해보면 아래와 같이 결과 값을 보실 수 있습니다. 즉, 새롭게 추가한 'test02_data_to_be_deleted' Column에 랜덤의 Value가 입력이 된 것을 확인 하실 수 있습니다. 

 

=============== 지울 Column을 추가 함 (랜덤 숫자를 입력) ===============
             names  NumberofYear  Value remarks  test02_data_to_be_deleted
first_row      Kim          2014     90     NaN                   0.980904
second_row    Park          2015     86     NaN                   0.494905
third_row     Jang          2017     77     NaN                   0.446977
forth_row      Kim          2018     99     NaN                   0.851276
fifth_row   MC-Yoo          2019     75     NaN                   0.194738

 

그럼 이제는 이 Column을 삭제해보도록 하겠습니다. 삭제하는 데 사용하는 함수는 'del' 함수 입니다. Column 앞에 'del' 함수 명령어를 선언해주면 해당 Column은 삭제 처리가 됩니다. 쉬운 이해를 돕기 위해서 아래와 같이 코드를 구현해보도록 하겠습니다. 

 

# 지울 Column 앞에 'del' 이라는 명령어를 이용하여 Column을 통체로 삭제 명령어를 선언
del df['test02_data_to_be_deleted']
print('=============== Column이 지워진 DataFrame을 출력 ===============')
print(df)
print()

 

 위 코드를 구현을 해보면 아래와 같이 'test02_data_to_be_deleted' Column이 삭제된 것을 확인 하실 수 있을 겁니다. 간단하게 'del' 함수를 이용하면 원하는 column을 지울 수가 있습니다. 

=============== Column이 지워진 DataFrame을 출력 ===============
             names  NumberofYear  Value remarks
first_row      Kim          2014     90     NaN
second_row    Park          2015     86     NaN
third_row     Jang          2017     77     NaN
forth_row      Kim          2018     99     NaN
fifth_row   MC-Yoo          2019     75     NaN

▼ 코드 분석이 끝나시면 실제로 코드를 구현해을 해보시는 걸 추천 드립니다. 

 

DataFrame Data에서 원하는 행 내용 출력하기

 

: DataFrame Data에서 원하는 행의 값을 출력하는 코드를 구현해보도록 하겠습니다. 한 예로, 'first_row' 와 'second_row'  행의 내용을 출력해보도록 하겠습니다. 행을 하나 선택할 때와 행을 복수로 선택했을 때 출력하는 결과가 다릅니다. 복수 행을 출력할 때는 Slice 함수를 사용하도록 하겠습니다. 

 

여기에서 주의 깊게 보셔야 되는게 Slice 함수를 사용함에도 불구하고 끝 행 ("second_row") 에 대한 내용도 같이 출력이 됩니다.

# 행을 하나 선택할 때와 행을 복수로 선택했을 때 두 가지로 코드를 작성함
print(df.loc['first_row'])
print(df.loc['first_row':'second_row'])

 위 코드를 실행시켜 보면 아래와 같이 출력 값이 나오게 됩니다. 즉 위에서 설명 드린대로, Slice 함수임에도 불구하고 second_row의 값도 출력이 되는 걸 확인 하실 수 있습니다. 참조하세요.

 

# 한 행의 Value를 출력하는 결과 값
names            Kim
NumberofYear    2014
Value             90
remarks          NaN
Name: first_row, dtype: object

# 복수 행의 Value를 출력하는 결과 값

           names  NumberofYear  Value remarks
first_row    Kim          2014     90     NaN
second_row  Park          2015     86     NaN

 

 복수의 행에 대해서 특정 열의 Inform을 알고 싶으면 아래와 같이 Column의 Information을 입력하시면 출력이 가능합니다. 하나의 행과 복수의 행에 대해서 어떻게 출력이 되는지에 대해서 보여 드리도록 하겠습니다.

 

# 하나의 행과 Column Inform을 섞어서 출력하는 코드
print('==== 하나의 행과 하나의 Column의 Inform을 출력할 때 =====')
print(df.loc['first_row','Value'])

#한 줄을 띄워주는 코드
print()

# 복수행과 Column Inform을 섞어서 출력하는 코드
print('==== 복수의 행과 하나의 Column의 Inform을 출력할 때 =====')
print(df.loc['first_row':'second_row','Value'])

 

 아래와 같이 출력이 되는데요. 하나의 행에 하나의 Column으로 조건을 줘서 출력하는 경우에는,  특정 Value만 출력되는 걸 확인 하실 수 있습니다. 행과 열이 만나는 값이 하나라서 값만 출력되는 걸로 보입니다. 물론 복수 행에 복수 Column의 Inform 도 출력도 될 수 있습니다. 참조 부탁 드립니다.

==== 하나의 행과 하나의 Column의 Inform을 출력할 때 =====
90

==== 복수의 행과 하나의 Column의 Inform을 출력할 때 =====
first_row     90
second_row    86
Name: Value, dtype: int64

 

이상입니다. 지금까지 Python의 Pandas 패키지를 이용한 DataFrame 함수를 활용하는 방법 중에 Column을 삭제하는 방법 및 원하는 행의 Data를 출력하는 방법에 대해서 포스팅을 작성하였습니다. 최고의 프로그래머가 되는 데 조금이나 도움이 되었으면 좋겠습니다. 항상 말씀드리지만 코드 분석이 끝나면 직접 해보시길 추천 드립니다. 그럼 이만 마무리 하도록 하겠습니다. 감사합니다.

 

[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.] 

 

관련 다른 글

 

728x90

댓글


// 내부링크를 현재창으로 열기 // Open internal links in same tab