Pandas 수업을 듣다,
data2.Sex.replace(['Male', 'Female'], [1,0], inplace=True)
를 보고, inplace = True의 뜻은 뭘까?하는 의문이 들었다.
우선 이해를 위해 예제를 하나 만들어보겠다.
data = { 'Sex': ['Male', 'Female', 'Male'],
'Age': [25, 28, 22],
'Score': [95, 85, 75]}
data = pd.DataFrame(data)
data
Sex | Age | Score | |
---|---|---|---|
0 | Male | 25 | 95 |
1 | Female | 28 | 85 |
2 | Male | 22 | 75 |
DataFrame을 더 효율적으로 사용하려면 모든 타입을 int로 바꿔주는 것이 좋다.
따라서, 'Male' = 0, 'Female' = 1로 바꿔주는 공식이 아래의 공식이다.
data2.Sex.replace(['Male', 'Female'], [1,0], inplace=True)
inpalce를 True로 설정하는 이유는
변환 명령어 실행 후 'inplcae' 메소드가 적용된 데이터 프레임을 출력하기 위함이다.
위의 명령어를 입력하면 아래의 결과가 나온다.
Sex | Age | Score | |
---|---|---|---|
0 | 1 | 25 | 95 |
1 | 0 | 28 | 85 |
2 | 1 | 22 | 75 |
그러나, inplace를 False로 변환하면,
'inplace'가 실행될 지라도 데이터 프레임엔 적용되지 않는다.
data2.Sex.replace(['Male', 'Female'], [1,0], inplace = False)
Sex | Age | Score | |
---|---|---|---|
0 | Male | 25 | 95 |
1 | Female | 28 | 85 |
2 | Male | 22 | 75 |
원본을 유지함으로써 실수를 줄이기 위함이다.
한마디로,
inplace = True : 이거 저장해.
inplace = False : 저장하지 말아줘
로 생각하면 될 것 같다.