데이터를 분석하기에 앞서 전처리(PREPROCESSING)와 탐색적 데이터분석(EDA:Exploratory Data Analysis)을 진행하는데, 그 과정에 항상 필요한 열(columns)과 행(rows)의 조작이 필수적이다.
그러한 조작(Data Manipulation)과 특성공학(Feature Engineering)들을 위한 열과 행의 삭제 방법을 기재해보겠다.
열(columns) 의 삭제:
df.drop(columns = ['A']) # 한 개 열을 삭제할 때.
df.drop(columns = ['A','B']) #여러개 열을 삭제할 때.
# columns를 안쓰고 axis 설정을 통해 삭제도 가능하다
df.drop('A', axis = 1) #한 개 열을 삭제할 때.
df.drop(['A', 'B'], axis = 1) #여러개 열을 삭제할 때.
행(row)의 삭제:
df.drop(0) # index 중 0 행 삭제, axis의 default값이 axis = 0이기 때문에 안쳐도 된다.
df.drop([1,2]) # 여러 행 삭제 - 1, 2 행을 삭제했다. 0과 3행만 남음
iloc을 이용 - index location으로 행 또는 열 index로 슬라이싱이 가능하다.
열(columns) 의 삭제:
df.iloc[:, 1:] # 0번째 column을 삭제하고 나머지만 남긴다.
df.iloc[:,2:] # 0번째, 1번째 column 삭제 뒤 나머지만 남기기.
행(rows) 의 삭제:
df.iloc[1:] # 0번째 행 삭제하고 나머지 추출
df.iloc[1:3] # 1번째 행부터 2번째 행까지만 출력하여 0행과 3행을 삭제한다.
df[1:] # row는 일반 슬라이싱이 defalut로 설정되어있어, iloc 없이도 index 슬라이싱으로 바로 삭제 가능하다.
loc을 이용 - location 함수로 행 또는 열의 이름으로 선택함으로 삭제한다.
열(columns) 의 삭제:
df.loc[:,'B':] # B열부터 끝까지 출력
df.loc[:,'A':'B'] # A열부터 B열까지 출력
행(rows) 의 삭제:
df.loc[1:] # 1행부터 끝까지 출력
df.loc[2:3] # 2행부터 3행까지 출력
여기서 주의 할 점은 loc함수는 iloc과 달리 슬라이싱시 마지막 선택 행 또는 열을 포함하는것이다.
또한 loc과 iloc은 선택을 위한 함수로 이를 적절히 이용하면 원하는 행 또는 열을 선택해서 추출할 수 있고, 원하는대로 변형을 할 수 있기 때문에 유용하게 쓰인다. 이 점 참고해서 다음엔 다른 것에 적용해보도록 하겠다.