当前位置:   article > 正文

2024美赛E题总结——查找数据篇

2024美赛E题总结——查找数据篇

        数据对于美赛E题的解答来说是非常重要的,然而也是建模之后最难的部分,数据查找的方法有很多,这里推荐比赛中用到的几个比较好用的数据网站。

1.中经数据全站(中经数据)

        在这个网站里可以查找到国家,省份的数据, 例如常见的人口密度,GDP,教育水平,医疗水平,保险收入和赔付都可以找到。如果只想用中国的数据解题,这个网站基本够用了.不过显示要会员才能免费,但是我当时是通过图书馆进入,然后注册后就可以免费使用了。所以如果遇到需要会员的情况的话,最好是通过学校图书馆进入这个网站,这样子数据都是免费的。

图示:

2.Our World in Data(Our World in Data)

         在这个网站里可以查找到各国家的数据, 例如常见的人口密度,GDP,灾难数据,而且都是免费的。下载的数据的格式是.csv文件格式,可以用来用地图,而且如果不会画也可以直接使用所给的图片(23年的E题有一篇O奖就是直接使用的),可以使论文看起来比较高级。

图示:

数据下载的地方:

3.国家统计局( 国家统计局 )       

        这个网站的数据主要是国内的数据(也是免费的),国内的数据和"中经数据全站查"的数据差不多,但是如果"中经数据全站查"里找不到想要的数据,可以在这个网站试一试。除了国内的数据,还有一部分国际的数据,这个我也是后来发现的,可以找到各国国民经济,贸易等的数据,也是非常好用的。
 图示:(搜索的时候直接搜加上对应的国家就可以跳到对应的国家界面)

 4.CEIC巴西 | 预测:名义人均国内生产总值 | 1980 – 2023 | 经济指标 | CEIC12-01-2023巴西预测:名义人均国内生产总值有望实现9,571.810美元,数据来源于International Monetary Fund。相较于上次发布的数据,即12-01-2022的8,857.470美元,此次有所增长。放眼未来,巴西12-01-2027预测:名义人均国内生产总值预计将达11,570.510美元。该数据按年更新,归类于世界趋势数据库的国家或地区预测数据 – 表 国际货币基金组织. 世界经济展望:国内生产总值:人均:按现价计算:美元。icon-default.png?t=N7T8https://www.ceicdata.com.cn/zh-hans/indicator/brazil/forecast-nominal-gdp-per-capita

这个网站也是各个国家的数据,主要有国民经济核算,生产,建筑及房地产业等数据,也是一个非常好的网站。

图示:

5.CRU TS(CRU TS Version 4.07)

         CRU TS 是目前使用最广泛的气候数据集之一,由英国国家大气科学中心 (NCAS) 制作。CRU TS 提供全球1901 年至 2020 年覆盖陆地表面的 0.5° 分辨率的月度数据。该数据集拥有基于近地表测量的10 套数据,分别是:温度(平均值、最小值、最大值和昼夜温差)、降水量(总量,雨天数)、湿度(如蒸气压)、霜天数、云量和潜在的蒸腾作用。气象的数据好难查找,比赛的时候气象的数据基本用的都是来源于这个网站。有个缺点就是这个数据需要处理才能提取出来用。

图示:

数据提取——将想要的目标数据从.nc文件转换为excel文件格式

  1. from netCDF4 import Dataset
  2. import numpy as np
  3. import pandas as pd
  4. # 定义NetCDF文件路径
  5. nc_file = 'cru_ts4.07.2021.2022.pre.dat.nc'
  6. # 打开NetCDF文件
  7. nc_data = Dataset(nc_file, 'r')
  8. print(nc_data.variables.keys()) # 查看文件所含的变量名
  9. # 假设降水变量名为'pre'
  10. precipitation_variable_name = 'pre'
  11. # 获取纬度和经度坐标
  12. lats = nc_data.variables['lat'][:]
  13. lons = nc_data.variables['lon'][:]
  14. # 获取时间维度
  15. time = nc_data.variables['time'][:]
  16. # 获取降水数据
  17. precipitation_data = nc_data.variables[precipitation_variable_name][:]
  18. # 关闭文件
  19. nc_data.close()
  20. # 定义日期
  21. dates = pd.to_datetime(time, origin='1900-01-01', unit='D')
  22. # 这句代码的作用是将从NetCDF文件中提取的时间数据转换为Pandas中的日期时间格式。
  23. # 具体来说:
  24. # pd.to_datetime() 是 Pandas 库中用于将一列数据转换为日期时间格式的函数。
  25. # time 是从 NetCDF 文件中提取的时间数据,以天为单位表示自 1900 年 1 月 1 日至今的天数。
  26. # origin='1900-01-01' 指定了日期的起始点,即基准日期为 1900 年 1 月 1 日。
  27. # unit='D' 表示时间数据的单位是天(Day)。
  28. # 因此,这行代码的作用是将从 NetCDF 文件中提取的时间数据转换为 Pandas 中的日期时间格式,以便后续在数据分析和可视化中进行更方便的处理和操作。
  29. locations = {
  30. 'United States': (39.8283, -98.5795),
  31. 'United Kingdom': (55.3781, -3.4360),
  32. 'China': (35, 105),
  33. 'India': (20, 78),
  34. 'Australia': (-25.2744, 133.7751),
  35. 'Germany': (51.1657, 10.4515),
  36. 'Canada': (56.1304, -106.3468),
  37. 'France': (46.6034, 1.8883),
  38. 'South Korea': (35.9078, 127.7669),
  39. 'Spain': (40.4637, -3.7492),
  40. 'Italy': (41.8719, 12.5674),
  41. 'Saudi Arabia': (23.8859, 45.0792),
  42. 'Japan': (36.2048, 138.2529),
  43. 'Mexico': (23.6345, -102.5528),
  44. 'Turkey': (38.9637, 35.2433),
  45. 'Russia': (61.5240, 105.3188),
  46. 'Argentina': (-38.4161, -63.6167),
  47. 'South Africa': (-30.5595, 22.9375),
  48. 'Iran': (32.4279, 53.6880),
  49. 'Egypt': (26.8206, 30.8025),
  50. 'Iraq': (33.2232, 43.6793),
  51. 'Brazil': (-14.2350, -51.9253),
  52. 'Malaysia': (4.2105, 101.9758),
  53. 'Pakistan': (30.3753, 69.3451),
  54. 'Vietnam': (14.0583, 108.2772),
  55. 'Philippines': (12.8797, 121.7740),
  56. 'Thailand': (15.8700, 100.9925),
  57. 'Nigeria': (9.0820, 8.6753),
  58. 'Bangladesh': (23.6850, 90.3563),
  59. 'Indonesia': (-0.7893, 113.9213)
  60. }
  61. data_dict = {'Date': dates}
  62. df = pd.DataFrame(data_dict)
  63. # Extract precipitation data for each location
  64. for location, (lat, lon) in locations.items():
  65. # Find the closest latitude and longitude indices
  66. lat_index = np.abs(lats - lat).argmin()
  67. lon_index = np.abs(lons - lon).argmin()
  68. try:
  69. # Add precipitation data to DataFrame
  70. df[location] = precipitation_data[:, lat_index, lon_index]
  71. except OverflowError as e:
  72. print(f"Error: {e}. Skipping location '{location}'.")
  73. # Save DataFrame to Excel file
  74. df.to_excel('all_data_1991_2020.xlsx', index=False)

CRU相关教程:

http://t.csdnimg.cn/4Og4nhttps://so.csdn.net/so/search?q=CRU%20TS&t=&u=&urw=http://t.csdnimg.cn/4Og4n

1901年-2020年全球气象数据CRU TS介绍、下载与使用教程|降水|栅格|arcgis|插值|ts_网易订阅

还有一些有趣的数据网站:

earth :: 风、气象、海洋状况的全球地图

BioONE—生物多样性与生态安全大数据平台

国家地球系统科学数据中心 

还有很多其它的数据网站,不过不怎么用到,需要的也可以下载,是由数学建模老哥总结的数据库"数学建模数据库汇总(B 站:数学建模老哥)"。

网盘链接:https://pan.baidu.com/s/1bvpTWrakkUsv5vrq1AMJkg?pwd=2103 
提取码:2103

数据篇总结到此,希望能对大家有帮助!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/144256
推荐阅读
相关标签
  

闽ICP备14008679号