Blair  - Soul Eater 1667. Fix Names in a Table

• data analysis/PYTHON

1667. Fix Names in a Table

oujin 2024. 2. 27. 22:47
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