-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path595-BigCountries.py
More file actions
56 lines (49 loc) · 2.66 KB
/
595-BigCountries.py
File metadata and controls
56 lines (49 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 595. Big Countries
# Table: World
# +-------------+---------+
# | Column Name | Type |
# +-------------+---------+
# | name | varchar |
# | continent | varchar |
# | area | int |
# | population | int |
# | gdp | bigint |
# +-------------+---------+
# name is the primary key (column with unique values) for this table.
# Each row of this table gives information about the name of a country, the continent to which it belongs, its area, the population, and its GDP value.
# A country is big if:
# it has an area of at least three million (i.e., 3000000 km2), or
# it has a population of at least twenty-five million (i.e., 25000000).
# Write a solution to find the name, population, and area of the big countries.
# Return the result table in any order.
# The result format is in the following example.
# Example 1:
# Input:
# World table:
# +-------------+-----------+---------+------------+--------------+
# | 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 |
# +-------------+-----------+---------+------------+--------------+
# Output:
# +-------------+------------+---------+
# | name | population | area |
# +-------------+------------+---------+
# | Afghanistan | 25500100 | 652230 |
# | Algeria | 37100000 | 2381741 |
# +-------------+------------+---------+
import pandas as pd
def big_countries(world: pd.DataFrame) -> pd.DataFrame:
# it has an area of at least three million (i.e., 3000000 km2), or
# it has a population of at least twenty-five million (i.e., 25000000).
filter = (world['area'] >= 3000000) | (world['population'] >= 25000000)
# a solution to find the name, population, and area of the big countries.
return world[filter][["name","population","area"]]
if __name__ == "__main__":
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'})
print(big_countries(world))