Python
(Python) 데이터프레임에서 특정 열을 제외하고 선택하기
5사
2022. 2. 22. 17:58
1. seaborn의 내장 데이터셋 목록 확인하기
seaborn.get_dataset_names() : seaborn의 내장된 데이터 셋 목록을 확인하기
import seaborn as sns
sns.get_dataset_names() #seaborn의 내장된 데이터 셋 목록을 확인하는 방법
['anagrams',
'anscombe',
'attention',
'brain_networks',
'car_crashes',
'diamonds',
'dots',
'exercise',
'flights',
'fmri',
'gammas',
'geyser',
'iris',
'mpg',
'penguins',
'planets',
'taxis',
'tips',
'titanic']
2. titanic 데이터셋을 불러와서 titanic이라는 변수에 담기
seaborn.load_dataset('데이터셋 명') : seaborn에 내장된 데이터셋 불러오기
titanic = sns.load_dataset('titanic')
titanic.head() # 상위 5개 행 출력
3. titanic 데이터 프레임에서 특정 열을 제외하고 가져오기
parch, deck 컬럼을 제외하고 가져오는 방법은?
방법 1) dataframe.columns != '컬럼명'
titanic.loc[:, (titanic.columns != 'parch') & (titanic.columns != 'deck')]
방법 2) ~dataframe.columns.isin( ['컬럼명', '컬럼명'] )
~titanic.columns.isin(['parch', 'deck'])
array([ True, True, True, True, True, False, True, True, True,
True, True, False, True, True, True])
위의 코드를 실행하면 parch 컬럼과 deck 컬럼에 해당하는 부분은 FALSE로 반환되고 있다.
위의 코드를 loc의 조건으로 넣어주면 데이터프레임 형태로 반환된다.
titanic.loc[:, ~titanic.columns.isin(['parch', 'deck']) ]
방법 3) one-line for문 사용하기
[i for i in list(dataframe.columns) if i not in ['제외할 컬럼명1', '제외할 컬럼명2']]
[i for i in list(titanic.columns) if i not in ['parch', 'deck']]
['survived',
'pclass',
'sex',
'age',
'sibsp',
'fare',
'embarked',
'class',
'who',
'adult_male',
'embark_town',
'alive',
'alone']
위의 코드를 실행하면 parch 컬럼과 deck 컬럼을 제외한 titanic의 컬럼 목록이 반환된다.
titanic.loc[:, [i for i in list(titanic.columns) if i not in ['parch', 'deck']] ]
# titanic[ [i for i in list(titanic.columns) if i not in ['parch', 'deck']] ]
위의 코드를 loc의 조건이나 데이터프레임 열 선택 조건으로 주면 된다.