題目描述 如果一個國家滿足下述兩個條件之一,則認為該國是 大國 : 面積至少為 300 萬平方公裡 人口至少為 2500 萬 編寫解決方案找出大國的國家名稱、人口和麵積 按任意順序返回結果表,如下例所示 測試用例 輸入: name continent area population gdp Afgh ...
題目描述
如果一個國家滿足下述兩個條件之一,則認為該國是 大國 :
- 面積至少為 300 萬平方公裡
- 人口至少為 2500 萬
編寫解決方案找出大國的國家名稱、人口和麵積
按任意順序返回結果表,如下例所示
測試用例
輸入:
name | continent | area | population | gdp |
---|---|---|---|---|
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 |
輸出
name | population | area |
---|---|---|
Afghanistan | 25500100 | 652230 |
Algeria | 37100000 | 2381741 |
解析
本題考查pandas的索引操作,屬於基礎題(最基礎的那種),基本思路就是先篩選,後切片
import pandas as pd
def big_countries(world: pd.DataFrame) -> pd.DataFrame:
df:pd.DataFrame = world[(world["area"]>=3000000)|(world["population"]>=25000000)]
return df[["name", "population", "area"]]
註意在提取pd.Dataframe時需使用雙方括弧
也可以使用pandas自帶的loc函數進行簡化
import pandas as pd
def big_countries(world: pd.DataFrame) -> pd.DataFrame:
return world.loc[(world['area'] >= 3000000) | (world['population'] >= 25000000), ['name', 'population', 'area']]
小白一枚,於今日正式開通個人博客,特此紀念,在此祝願園子越辦越好