pandas笔记(一)-- 大的国家(逻辑索引、切片)

题目描述

如果一个国家满足下述两个条件之一,则认为该国是 大国

  • 面积至少为 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']]

小白一枚,于今日正式开通个人博客,特此纪念,在此祝愿园子越办越好

热门相关:资本大唐   花开春暖   最牛兵王   第一强者   绝代疯少