초보 개발자

df drop 본문

AI 웹개발 트랙 - 내배캠/4주차

df drop

taehyeki 2022. 1. 6. 16:14

판다스에서 drop을 할 때 옵션 aixs를 0또는 1로 주는데 이 의미를 알아보자.

 

aixs = 0은 행을 따라 동작한다. 각 컬럼의 모든 행에 대해서 작용한다.

aixs = 1은 열을 따라 동작한다. 각 행의 모든 컬럼에 대해서 작동한다.

 

df = pd.DataFrame(
    {'name': ['KIM', 'LEE', 'SMITH','BROWN', 'MILLER'],
     'age': [24, 32, 43, 24, np.nan],
     'height': [178, 168, 171, 185, 176],
     'sex': ['M', 'F', 'F', 'M', 'F']})
df


"""
	name	age	height	sex
0	KIM	24.0	178	M
1	LEE	32.0	168	F
2	SMITH	43.0	171	F
3	BROWN	24.0	185	M
4	MILLER	NaN	176	F
"""

drop(axis=0)

df.drop([1,2], axis=0)
""" 
		name age height sex
0 		KIM 24.0 178 M 
3 		BROWN 24.0 185 M 
4 		MILLER NaN 176 F 
"""

axis가 0이면 행이 기준이 되기 때문에 첫번째 인자에 [1,2]를 넣으면 1번, 2번째 인덱스가 삭제가 된다.

 

drop(axis=1)

df.drop(['age', 'height'], axis=1)

"""
	name	sex
0	KIM	M
1	LEE	F
2	SMITH	F
3	BROWN	M
4	MILLER	F
"""

axis가 1이면 열이 기준이 되기 때문에 첫번째 인자에 ['age','height']를 넣으면 'age', 'height'가 삭제 된 뒤에 출력이 된다.

 

mean(axis=0)

df[['age', 'height']].mean(axis=0)

"""
age        30.75
height    175.60
dtype: float64
"""

 

axis가 0이면 행이 기준이 되기 때문에  모든 행의 age값과 height를 각 각 더해서 평균을 구한다. 

 

 

mean(axis=1)

df[['age', 'height']].mean(axis=1)

"""
0    101.0
1    100.0
2    107.0
3    104.5
4    176.0
dtype: float64
"""

axis가 1이면 열이 기준이 되기 때문에  모든 열의 age값과 height를 더해서 평균을 구한다.