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
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
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 |