하지만 데이터 타입이 다른 경우, 예를 들어 키에 대한 정보에다 cm를 붇인다던지, 국어 점수에다 '~점'을 붙인다던지 하는 경우는 에러가 발생합니다.
그렇기에 데이터 타입이 다른 문자를 추가하기 위해서는 .apply()함수를 사용해야 합니다.
과정은 다음과 같습니다.
파이썬 함수를 적용하였습니다. add_cm라는 임의의 함수를 만들었고, 그 결과값으로 기존 숫자형이었던 키(height) 데이터(int64데이터타입)가 문자형인 키(height) 데이터(str데이터 타입)로 변경되도록 만들었습니다. 이후 그 뒤에 'cm'를 붙여도 에러가 발생하지 않습니다. 같은 문자열로 되었기 때문입니다. 이후 .apply()함수를 사용해서 add_cm라는 만든 함수를 키 칼럼에 적용시키는 것 까지 완료하였습니다.
13-2. 특정 칼럼의 첫 번째 글자를 대문자로 일괄 변경하기
첫 번째 글자가 소문자 대문자 막 섞여 있는 경우, 데이터 처리를 위해 일괄 대문자로 변경해 볼 수도 있습니다.
이 경우에는 if를 사용하여 반복문을 이용한 후 .apply()함수를 통해 그 함수를 적용시켰습니다.
그렇다면 예문으로 sw특기 칼럼의 첫 번째 글자만 대문자로 변경하는 작업을 해 보겠습니다.
<코드해석>
def capitalize (lang) - capitalize(첫 문자를 대문자로 변환하는 함수) 함수를 선언하고, 그 적용하는 대상은 lang. 여기서 lang은 sw특기의 문자를 의미합니다.
if pd.notnull (lang) - 판다스에 내장된 pd.notnull()함수를 적용했습니다. sw특기의 값이 null이 아니라면
return lang.capitalize() - lang의 값을 capitalize함수를 사용해 첫 문자를 대문자로 변경하여라.
return lang - 만약 lang이 결측치, 즉 null값 이라면, 그대로 결측치로 표시하여라.
만약 시리즈형태로 표시되게 한다면 다음과 같이 간단히 나타낼 수도 있습니다.
.str.capitalize()함수를 활용해서 말이지요.
오늘은 함수 적용에 대해 학습해 보았습니다.
아무래도 함수와 관련된 것이다 보니, 기초적인 파이썬 문법을 필요로 했습니다.
기본 내장함수를 이용해 데이터를 처리할 수도 있지만, 이렇게 함수를 직접 만들어서 처리할 수도 있었네요.
함수를 만들어서 적용한다면 좀 더 데이터에 맞게, customize가 된다고 볼 수 있을까요?
하지만 기존 함수를 이용해 활용하는 방법도 구글링을 통해 찾을 수 있으면 찾고, 코드를 해석하고 적절한 코드를 쓰면 되기는 하지만 어떨 때는 이렇게 직접 만들어서 쓸 경우도 가끔씩 있을 수는 있으니 조금씩 봐 두는게 좋을 것 같다는 생각입니다.
댓글