본문 바로가기
Python/Pandas, Numpy

[Pandas] DataFrame 행/열 이름 설정, 이름 변경, 삭제, 선택

by IT두잇 2022. 5. 31.

행/열 이름 설정하기

아래와 같은 데이터가 있다고 가정할 때, 다음과 같이 dataframe을 생성하면서 행과 열의 이름을 설정할 수 있습니다. 

    0  1  2
0  1  2  3
1  4  5  6
2  7  8  9

 

행은 index=[행 이름], 열은 column=[열 이름]

이름 대신 range, 혹은 숫자로 이름을 설정할 수도 있습니다.

1
pd.DataFrame(df, index = range(10,13), columns=['a''b''c'])
cs

결과값:

       a  b  c
10  1  2  3
11  4  5  6
12  7  8  9

 

1
pd.DataFrame(df, index = ['철수''영희''지웅'], columns=['수학''영어''국어'])
cs

결과값:

    수학  영어  국어
철수   1   2   3
영희   4   5   6
지웅   7   8   9

 


행/열 삭제하기

아래의 데이터를 예시로 행/열 삭제하는 방법을 설명드리겠습니다. 

 

    나이 성별  학교
철수  15  남  남중
영희  17  여  여중
길동  19  남  남고

 

1) drop - 행 삭제

데이터 이름이 string일 경우에는 반드시 따옴표안에 입력해야합니다.

1
2
# '철수' 행 삭제하기
df.drop('철수')
cs

결과값:

      나이 성별  학교
영희  17  여  여중
길동  19  남  남고

 

drop의 디폴트값은 행이기 때문에, 열 데이터만 넣었을 때는 삭제되지 않습니다 

1
2
# '' 열 삭제하기
df.drop('나이')
cs

결과값: error

 

 

2) inplace - 행 삭제

inplace의 값이 True일 때는, 입력한 값을 반환하지 않습니다. 즉, 입력한 값을 삭제합니다. 

특히, inplace의 경우, 값을 따로 저장하지 않아도 기존 데이터에 적용되니 주의가 필요합니다.

1
2
3
# '철수', '영희' 행 
df.drop(['철수''영희'], inplace = True#df에 저장됨
df
 
cs

결과값:

    나이 성별  학교
길동  19  남  남고

 

 

3) drop(axis= ) - 행/ 열 삭제 **권장방법**

drop 함수를 이용하는 대신, 행(axis = 0) 또는 열(axis = 1)을 추가로 입력해주면 해당 위치의 데이터를 삭제할 수 있습니다. 

1
2
# 행 지우기 
df.drop(['철수''영희'], axis = 0)
cs

결과값:

     나이 성별  학교
길동  19  남  남고

 

1
2
# 열 지우기
df.drop(['나이''성별'], axis = 1)
cs

결과값:

          학교
철수  남중
영희  여중
길동  남고