이번 포스팅에서는 pandas DataFrame 의 칼럼 관련한 소소한 팁들을 정리해보았습니다. 

 

1. pandas DataFrame 의 칼럼 이름 확인 하기 : df.columns

2. pandas DataFrame 에 특정 칼럼 포함 여부 확인하기 : 'col' in df.columns

3. pandas DataFrame 에서 특정 칼럼 선택하기

4. pandas DataFrame 에서 특정 칼럼 제외하기

5. pandas DataFrame 칼럼 이름 바꾸기

 

 

pandas DataFrame column name list, check, difference, rename

 

먼저, 예제로 사용할 간단한 pandas DataFrame을 만들어보겠습니다. 

 

import pandas as pd

df = pd.DataFrame({'x1': [0.1, 0.1, 0.2, 0.2]
                   , 'x2': [10, 20, 30, 80]
                   , 'x3': [0.1, 0.3, 0.2, 0.6]
                   , 'y': [1, 2, 3, 10]}, 
                 index = [1, 2, 3, 4])
                 
df
[Out]:
    x1  x2   x3   y
1  0.1  10  0.1   1
2  0.1  20  0.3   2
3  0.2  30  0.2   3
4  0.2  80  0.6  10

 

 

1. pandas DataFrame 의 칼럼 이름 확인 하기 : df.columns

# DataFrame의 칼럼 이름 확인하기
df.columns

[Out]: Index(['x1', 'x2', 'x3', 'y'], dtype='object')

 

 

 

2. pandas DataFrame 에 특정 칼럼 포함 여부 확인하기 : 'col' in df.columns

 

'column_name' in df.columns 구문 형식으로 특정 칼럼이 포함되어있는지 여부를 True, False 의 boolean 형식으로 반환받을 수 있습니다.  이를 if 조건문과 함께 사용해서 특정 칼럼의 포함 여부에 따라 분기문을 만들 수 있습니다. 

# DataFrame의 칼럼 포함 여부 확인하기
'x1' in df.columns
[Out]: True


'x5' in df.columns
[Out]: False


if 'x1' in df.columns:
    print('column x1 is in df DataFrame')
[Out]: column x1 is in df DataFrame

 

 

 

3. pandas DataFrame 에서 특정 칼럼 선택하기

 

# 특정 칼럼 선택하기
y = df['y']

y
[Out]: 
1     1
2     2
3     3
4    10
Name: y, dtype: int64


# 여러개 칼럼 선택하기
X = df[['x1', 'x2', 'x3']]
X
[Out]:
        x1	x2	x3
1	0.1	10	0.1
2	0.1	20	0.3
3	0.2	30	0.2
4	0.2	80	0.6

 

 

 

4. pandas DataFrame 에서 특정 칼럼 제외하기

 

# 특정 칼럼 제외하고 나머지 칼럼 선택하기
X2 = df[df.columns.difference(['y'])]

X2
[Out]:
        x1	x2	x3
1	0.1	10	0.1
2	0.1	20	0.3
3	0.2	30	0.2
4	0.2	80	0.6

 

 

5. pandas DataFrame 칼럼 이름 바꾸기

 

# 칼럼 이름 바꾸기
X.columns = ['v1', 'v2', 'v3']

X
[Out]:

        v1	v2	v3
1	0.1	10	0.1
2	0.1	20	0.3
3	0.2	30	0.2
4	0.2	80	0.6


# 특정 칼럼만 선택해서 이름 바꾸기
X3 = X.rename(columns = {'v1': 'c1'})

X3
[Out]:
        c1	v2	v3
1	0.1	10	0.1
2	0.1	20	0.3
3	0.2	30	0.2
4	0.2	80	0.6

 

 

많은 도움이 되었기를 바랍니다. 

행복한 데이터 과학자 되세요! :-)

 

728x90
반응형
Posted by Rfriend
,