개요
DataFrame으로 데이터를 추가하다 출력할 때가 되면 데이터를 추가한 순서가 보기 편한 순서와 달라 데이터가 눈에 잘 안 들어오는 경우가 있다.
아래의 데이터를 예시로 들어 DataFrame의 컬럼 순서를 변경하는 방법을 정리해둔다.
import seaborn as sns
titanic = sns.load_dataset("titanic")
titanic
컬럼 나열
원하는 순서로 컬럼을 다시 나열하여 인덱싱 한다. df.columns 속성을 이용하면 필요한 컬럼을 빠트리지 않을 수 있다.
titanic.columns
# 실행 결과
Index(['survived', 'pclass', 'sex', 'age', 'sibsp', 'parch', 'fare',
'embarked', 'class', 'who', 'adult_male', 'deck', 'embark_town',
'alive', 'alone'],
dtype='object')
컬럼 목록을 리스트로 인덱싱한다.
df = titanic[['pclass', 'sex', 'age','sibsp', 'parch', 'fare','embarked', 'class', 'who', 'adult_male', 'deck', 'embark_town','alive', 'alone', 'survived']]
df
reindex 함수
Series나 DataFrame을 새 인덱스에 맞추는 reindex 함수를 사용해도 된다.
df = titanic.reindex(columns=['sex', 'age','sibsp', 'parch', 'fare','embarked', 'class', 'who',
'adult_male', 'deck', 'embark_town','alive', 'alone', 'survived', 'pclass'])
df
참고 문서
[Pandas] column 순서 재배치하는 2가지 방법
https://bio-info.tistory.com/16
https://stackoverflow.com/questions/13148429/how-to-change-the-order-of-dataframe-columns
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.reindex.html