pandas筆記(一)-- 大的國家(邏輯索引、切片)

KevinScott0582發表於2024-03-06

題目描述

如果一個國家滿足下述兩個條件之一,則認為該國是 大國

  • 面積至少為 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']]

小白一枚,於今日正式開通個人部落格,特此紀念,在此祝願園子越辦越好

相關文章