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']]
小白一枚,于今日正式开通个人博客,特此纪念,在此祝愿园子越办越好