{ "cells": [ { "cell_type": "markdown", "id": "3e087ca9", "metadata": {}, "source": [ "# 处理多城市\n", "\n", "## 获取全球城市\n", "我们已经知道如何获取一个城市的的天气信息,如果有多个城市,操作方式也是类似的,无非就是添加一个循环而已。\n", "\n", "但是如何获取城市列表呢? \n", "这里推荐一个网站: https://simplemaps.com/data/world-cities\n", "\n", "这里面包含全球城市的完整信息,不仅包含城市名称,还包括国家,经纬度,是否是首都,省会等信息。\n", "\n", "下载后,解压,就可以通过pandas 读取了。" ] }, { "cell_type": "code", "execution_count": 1, "id": "1d1c95ce", "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "id": "c9adf614", "metadata": {}, "outputs": [], "source": [ "city_file = '../data/worldcities.csv'\n", "city_df = pd.read_csv(city_file,encoding='utf-8')" ] }, { "cell_type": "code", "execution_count": 3, "id": "400d50ce", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | city | \n", "city_ascii | \n", "lat | \n", "lng | \n", "country | \n", "iso2 | \n", "iso3 | \n", "admin_name | \n", "capital | \n", "population | \n", "id | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Tokyo | \n", "Tokyo | \n", "35.6897 | \n", "139.6922 | \n", "Japan | \n", "JP | \n", "JPN | \n", "Tōkyō | \n", "primary | \n", "37977000.0 | \n", "1392685764 | \n", "
1 | \n", "Jakarta | \n", "Jakarta | \n", "-6.2146 | \n", "106.8451 | \n", "Indonesia | \n", "ID | \n", "IDN | \n", "Jakarta | \n", "primary | \n", "34540000.0 | \n", "1360771077 | \n", "
2 | \n", "Delhi | \n", "Delhi | \n", "28.6600 | \n", "77.2300 | \n", "India | \n", "IN | \n", "IND | \n", "Delhi | \n", "admin | \n", "29617000.0 | \n", "1356872604 | \n", "
3 | \n", "Mumbai | \n", "Mumbai | \n", "18.9667 | \n", "72.8333 | \n", "India | \n", "IN | \n", "IND | \n", "Mahārāshtra | \n", "admin | \n", "23355000.0 | \n", "1356226629 | \n", "
4 | \n", "Manila | \n", "Manila | \n", "14.6000 | \n", "120.9833 | \n", "Philippines | \n", "PH | \n", "PHL | \n", "Manila | \n", "primary | \n", "23088000.0 | \n", "1608618140 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
40996 | \n", "Tukchi | \n", "Tukchi | \n", "57.3670 | \n", "139.5000 | \n", "Russia | \n", "RU | \n", "RUS | \n", "Khabarovskiy Kray | \n", "NaN | \n", "10.0 | \n", "1643472801 | \n", "
40997 | \n", "Numto | \n", "Numto | \n", "63.6667 | \n", "71.3333 | \n", "Russia | \n", "RU | \n", "RUS | \n", "Khanty-Mansiyskiy Avtonomnyy Okrug-Yugra | \n", "NaN | \n", "10.0 | \n", "1643985006 | \n", "
40998 | \n", "Nord | \n", "Nord | \n", "81.7166 | \n", "-17.8000 | \n", "Greenland | \n", "GL | \n", "GRL | \n", "Sermersooq | \n", "NaN | \n", "10.0 | \n", "1304217709 | \n", "
40999 | \n", "Timmiarmiut | \n", "Timmiarmiut | \n", "62.5333 | \n", "-42.2167 | \n", "Greenland | \n", "GL | \n", "GRL | \n", "Kujalleq | \n", "NaN | \n", "10.0 | \n", "1304206491 | \n", "
41000 | \n", "Nordvik | \n", "Nordvik | \n", "74.0165 | \n", "111.5100 | \n", "Russia | \n", "RU | \n", "RUS | \n", "Krasnoyarskiy Kray | \n", "NaN | \n", "0.0 | \n", "1643587468 | \n", "
41001 rows × 11 columns
\n", "\n", " | city | \n", "city_ascii | \n", "lat | \n", "lng | \n", "country | \n", "iso2 | \n", "iso3 | \n", "admin_name | \n", "capital | \n", "population | \n", "id | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
5 | \n", "Shanghai | \n", "Shanghai | \n", "31.1667 | \n", "121.4667 | \n", "China | \n", "CN | \n", "CHN | \n", "Shanghai | \n", "admin | \n", "22120000.0 | \n", "1156073548 | \n", "
9 | \n", "Guangzhou | \n", "Guangzhou | \n", "23.1288 | \n", "113.2590 | \n", "China | \n", "CN | \n", "CHN | \n", "Guangdong | \n", "admin | \n", "20902000.0 | \n", "1156237133 | \n", "
10 | \n", "Beijing | \n", "Beijing | \n", "39.9050 | \n", "116.3914 | \n", "China | \n", "CN | \n", "CHN | \n", "Beijing | \n", "primary | \n", "19433000.0 | \n", "1156228865 | \n", "
17 | \n", "Shenzhen | \n", "Shenzhen | \n", "22.5350 | \n", "114.0540 | \n", "China | \n", "CN | \n", "CHN | \n", "Guangdong | \n", "minor | \n", "15929000.0 | \n", "1156158707 | \n", "
29 | \n", "Nanyang | \n", "Nanyang | \n", "32.9987 | \n", "112.5292 | \n", "China | \n", "CN | \n", "CHN | \n", "Henan | \n", "NaN | \n", "12010000.0 | \n", "1156192287 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
40725 | \n", "Taoyan | \n", "Taoyan | \n", "34.7706 | \n", "103.7903 | \n", "China | \n", "CN | \n", "CHN | \n", "Gansu | \n", "NaN | \n", "5329.0 | \n", "1156019900 | \n", "
40744 | \n", "Jingping | \n", "Jingping | \n", "33.7844 | \n", "104.3652 | \n", "China | \n", "CN | \n", "CHN | \n", "Gansu | \n", "NaN | \n", "5149.0 | \n", "1156005145 | \n", "
40776 | \n", "Dayi | \n", "Dayi | \n", "33.8312 | \n", "104.0362 | \n", "China | \n", "CN | \n", "CHN | \n", "Gansu | \n", "NaN | \n", "5114.0 | \n", "1156108713 | \n", "
40782 | \n", "Biancang | \n", "Biancang | \n", "33.9007 | \n", "104.0321 | \n", "China | \n", "CN | \n", "CHN | \n", "Gansu | \n", "NaN | \n", "5040.0 | \n", "1156724811 | \n", "
40938 | \n", "Nichicun | \n", "Nichicun | \n", "29.5333 | \n", "94.4167 | \n", "China | \n", "CN | \n", "CHN | \n", "Tibet | \n", "NaN | \n", "100.0 | \n", "1156860651 | \n", "
1498 rows × 11 columns
\n", "\n", " | cloudcover | \n", "lifted_index | \n", "prec_type | \n", "prec_amount | \n", "temp2m | \n", "rh2m | \n", "weather | \n", "timestamp | \n", "wind_direction | \n", "wind_speed | \n", "longitude | \n", "latitude | \n", "city | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "9 | \n", "15 | \n", "none | \n", "0 | \n", "5 | \n", "53 | \n", "cloudyday | \n", "2022-02-03 03:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
1 | \n", "9 | \n", "15 | \n", "none | \n", "0 | \n", "5 | \n", "51 | \n", "cloudyday | \n", "2022-02-03 06:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
2 | \n", "9 | \n", "15 | \n", "none | \n", "1 | \n", "4 | \n", "72 | \n", "cloudyday | \n", "2022-02-03 09:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
3 | \n", "9 | \n", "15 | \n", "rain | \n", "1 | \n", "4 | \n", "81 | \n", "lightrainnight | \n", "2022-02-03 12:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
4 | \n", "9 | \n", "15 | \n", "rain | \n", "1 | \n", "4 | \n", "66 | \n", "lightrainnight | \n", "2022-02-03 15:00:00 | \n", "NE | \n", "2 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
59 | \n", "3 | \n", "15 | \n", "none | \n", "4 | \n", "5 | \n", "72 | \n", "pcloudynight | \n", "2022-02-10 12:00:00 | \n", "E | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
60 | \n", "9 | \n", "15 | \n", "none | \n", "4 | \n", "5 | \n", "70 | \n", "cloudynight | \n", "2022-02-10 15:00:00 | \n", "SE | \n", "2 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
61 | \n", "9 | \n", "15 | \n", "none | \n", "4 | \n", "5 | \n", "71 | \n", "cloudynight | \n", "2022-02-10 18:00:00 | \n", "SE | \n", "2 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
62 | \n", "9 | \n", "15 | \n", "none | \n", "4 | \n", "5 | \n", "74 | \n", "cloudynight | \n", "2022-02-10 21:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
63 | \n", "9 | \n", "15 | \n", "none | \n", "4 | \n", "5 | \n", "63 | \n", "cloudyday | \n", "2022-02-11 00:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
64 rows × 13 columns
\n", "\n", " | cloudcover | \n", "lifted_index | \n", "prec_type | \n", "prec_amount | \n", "temp2m | \n", "rh2m | \n", "weather | \n", "timestamp | \n", "wind_direction | \n", "wind_speed | \n", "longitude | \n", "latitude | \n", "city | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "9 | \n", "15 | \n", "none | \n", "0 | \n", "5 | \n", "50 | \n", "cloudyday | \n", "2022-02-03 03:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
1 | \n", "9 | \n", "15 | \n", "none | \n", "0 | \n", "5 | \n", "55 | \n", "cloudyday | \n", "2022-02-03 06:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
2 | \n", "9 | \n", "15 | \n", "none | \n", "1 | \n", "4 | \n", "73 | \n", "cloudyday | \n", "2022-02-03 09:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
3 | \n", "9 | \n", "15 | \n", "rain | \n", "1 | \n", "4 | \n", "83 | \n", "lightrainnight | \n", "2022-02-03 12:00:00 | \n", "NE | \n", "3 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "
4 | \n", "9 | \n", "15 | \n", "rain | \n", "1 | \n", "4 | \n", "69 | \n", "lightrainnight | \n", "2022-02-03 15:00:00 | \n", "NE | \n", "2 | \n", "121.4667 | \n", "31.1667 | \n", "Shanghai | \n", "