Blair  - Soul Eater 595. Big Countries

• data analysis/PYTHON

595. Big Countries

oujin 2024. 2. 29. 11:57
728x90

테이블 생성코드

data = [['Afghanistan', 'Asia', 652230, 25500100, 20343000000], ['Albania', 'Europe', 28748, 2831741, 12960000000], ['Algeria', 'Africa', 2381741, 37100000, 188681000000], ['Andorra', 'Europe', 468, 78115, 3712000000], ['Angola', 'Africa', 1246700, 20609294, 100990000000]]
world = pd.DataFrame(data, columns=['name', 'continent', 'area', 'population', 'gdp']).astype({'name':'object', 'continent':'object', 'area':'Int64', 'population':'Int64', 'gdp':'Int64'})
 
 
 
문제
 
 
 
 풀이코드
import pandas as pddef big_countries(world: pd.DataFrame) -> pd.DataFrame:
    df_a = world['area']>=3000000
    df_p = world['population']>=25000000
    merge_df = world[df_a | df_p]
    result_df = merge_df[['name','population','area']]
    return result_df
 
 
해설
1. 조건이 2개가 있는데 각각 조건으로 필터링한 데이터프레임을 만들어 준다.
    df_a = world['area']>=3000000
    df_p = world['population']>=25000000
 
 
 2. 1번의 두개의 데이터프레임을 or조건으로 같이 본다 (|)
    merge_df = world[df_a | df_p]
 
3. 2번에서 합쳐진 merge_df에서 보고 싶은 컬럼만 입력하여 본다.
    result_df = merge_df[['name','population','area']]
 
4. 3번의 결과를 result_df 에 담아 return으로 출력한다.
 
 
 
728x90

'• data analysis > PYTHON' 카테고리의 다른 글

1633. Percentage of Users Attended a Contest  (0) 2024.02.28
1667. Fix Names in a Table  (0) 2024.02.27
1075. Project Employees I  (0) 2024.02.26
610. Triangle Judgement  (0) 2024.02.24
1068. Product Sales Analysis I  (0) 2024.02.22