728x90
테이블 생성코드
data = [[1, 'aLice'], [2, 'bOB']]
users = pd.DataFrame(data, columns=['user_id', 'name']).astype({'user_id':'Int64', 'name':'object'})
문제
풀이코드
import pandas as pd
def fix_names(users: pd.DataFrame) -> pd.DataFrame:
users['name'] = users['name'].str.capitalize()
result_df = users.sort_values(by='user_id')
return result_df
해설
첫글자만 대문자로 하고 나머지는 소문자로 만들어야 한다.
users 테이블에는 name 이라는 컬럼이 있는데 이 name 컬럼만 수정해주어야 한다.
따라서 users['name'] = users['name'].str.capitalize() 코드를 보면
users['name'] 컬럼만 따로 지정해서 수정된 값을 넣어줄 것이다.
판다스의 시리즈.str.capitalize()는 첫글자는 대문자이고 나머지는 소문자로 바꾸어주는 함수이다.
따라서 이렇게 users['name'] 를 수정하여주고
result_df = users.sort_values(by='user_id') 코드를 보면
users 테이블을 정렬을 해줄건데 user_id를 기준으로 정렬한 것을 result_df 에 담아서
return result_df 이렇게 출력하는 것을 볼 수 있다.
찬다스의 문자열 메소드에 대한 요약입니다.
-판다스와 관련된 대문자 소문자 관련 함수 정리-
시리즈나/인덱스의 문자열을 바꿀 수 있습니다.
판다스 시리즈.str.upper()
문자열을 모두 대문자로 변경 .
판다스 시리즈.str.lower()
문자열을 모두 소문자로 변경 .
판다스 시리즈.str.capitalize()
첫글자는 대문자로바꾸고 나머지는 소문자로 변경.
판다스 시리즈.str.title()
문자열의 각 단어의 첫 번째 문자를 대문자로 바꿔주고 나머지는소문자로 변경 .
판다스 시리즈.str.swapcase()
문자열에서 대문자인 경우 소문자로, 소문자인 경우 대문자로 바꿔준다.
판다스 시리즈.str.casefold()
문자열에서 모든 대/소문자 구분을 없앤다.
728x90
'• data analysis > PYTHON' 카테고리의 다른 글
595. Big Countries (0) | 2024.02.29 |
---|---|
1633. Percentage of Users Attended a Contest (0) | 2024.02.28 |
1075. Project Employees I (0) | 2024.02.26 |
610. Triangle Judgement (0) | 2024.02.24 |
1068. Product Sales Analysis I (0) | 2024.02.22 |