Python 中的社会进步指数分析项目2025年03月17日 | 阅读 9 分钟 社会进步指数(SPI)是衡量全球社会进步程度的指标。它有助于理解其他国家对其人口的整体福祉有多大的关注。如果您想检查社会进步指数,那么本教程适合您。本文将指导您完成基于 Python 的社会进步指数分析。 该指数结合了三个维度
该框架包含了学术研究和从业经验确定的支持社会进步的各种相互关联的要素。每个维度有四个组成部分,每个组成部分包含三到五个不同的结果指标。所选指标由同一组织使用标准化技术在所有(或几乎所有)样本国家中得到准确衡量。 社会进步指数的两个主要特点是
在创建社会进步指数时,社会进步势在必行(Social Progress Imperative)考虑了数百个潜在指标,并咨询了麻省理工学院的专家,以确定最能区分各国表现的指标。当有足够的数据或最准确的代理指标时,该指数会使用结果衡量。 社会进步指数分析在计算社会进步指数分数时,会考虑一个国家居民的整体发展水平。 在确定社会进步分数时,考虑了以下所有变量
因此,这些是确定国家 SPI 分数的主要变量。我在 Kaggle 上找到了一个包含所有这些要素的数据集。分析社会进步指数将是有益的。 您可以访问 Kaagle.com 网站下载数据集 在继续之前,我想确保您知道,如果您想构建一个关于社会进步指数分析的高级数据科学项目,Tableau 是最佳选择,因为此类数据集可以在仪表板上更好地可视化和研究。 在下面的部分中,您可以学习如何使用 Python 分析社会进步指数。 关于数据集社会进步指数(SPI)衡量各国在社会和环境领域满足其人口需求的程度。通过基本人类需求、福祉基石和社会进步机会这三个类别的 55 个指标,展示了各国的相对表现。 SPI 不关注经济因素,而是直接观察社会和环境结果,以确定社会福祉的水平。包括健康、住房和卫生设施、包容性、可持续性、公平以及个人自由和安全等社会和生态要素。 列描述
文件名spi.csv 使用 Python 进行社会进步指数分析让我们先导入数据集和相关的 Python 库 输出 spi__rank country spi__score basic__human__needs wellbeing \ 0 1.0 Norway 92.63 95.29 93.30 1 2.0 Finland 92.26 95.62 93.09 2 3.0 Denmark 92.15 95.30 92.74 3 4.0 Iceland 91.78 96.66 93.65 4 5.0 Switzerland 91.78 95.25 93.80 opportunity basic_nutri_med_care_ water_sanitation_ shelter \ 0 89.30 98.81 98.33 93.75 1 88.07 98.99 99.26 96.48 2 88.41 98.62 98.21 94.92 3 85.04 98.99 98.82 93.16 4 86.28 98.72 98.96 92.97 personal_safety_ access_basic_knowledge_ access_info_comm_ health_wellness_ \ 0 90.29 98.66 95.80 89.32 1 87.75 96.32 95.14 85.73 2 89.46 97.44 98.18 85.15 3 95.66 99.51 93.12 91.02 4 90.35 98.60 95.07 91.50 env_quality_ personal_rights_ personal_freedom_choice_ inclusiveness \ 0 89.44 96.34 91.16 83.77 1 95.15 96.13 88.10 82.81 2 90.20 97.08 90.03 81.64 3 90.93 95.14 88.01 77.63 4 90.05 96.69 90.65 74.81 access_adv_edu_ 0 85.92 1 85.23 2 84.89 3 79.39 4 82.99 诸如基本人类需求、福祉、机会、食品和基本医疗护理、水和卫生设施、保护、人身安全、获得基本知识的途径、获取信息和通信的途径、健康与福祉、环境保护、个人权利、个人自由和选择、多样性、获得高等教育的途径等所有重要因素,都包含在此数据集的列中。 查询 输出 spi__rank country spi__score basic__human__needs \ 164 165.0 Eritrea 35.33 44.94 165 166.0 Chad 34.60 35.65 166 167.0 Central African Republic 33.53 29.91 167 168.0 South Sudan 32.50 39.96 168 NaN World 65.05 74.18 wellbeing opportunity basic_nutri_med_care_ water_sanitation_ shelter \ 164 35.95 25.10 57.92 27.91 50.27 165 36.26 31.87 47.24 21.48 33.00 166 34.83 35.84 36.42 26.95 26.79 167 34.17 23.37 59.29 24.43 33.28 168 64.42 56.54 84.92 69.99 80.63 personal_safety_ access_basic_knowledge_ access_info_comm_ \ 164 43.67 40.18 6.81 165 40.90 23.14 24.31 166 29.46 34.81 22.57 167 42.84 27.18 9.16 168 61.20 72.03 70.22 health_wellness_ env_quality_ personal_rights_ personal_freedom_choice_ \ 164 41.68 55.12 14.88 37.86 165 41.47 56.13 52.04 28.66 166 24.60 57.35 52.39 26.67 167 37.14 63.22 27.40 32.50 168 60.18 55.27 60.16 62.22 inclusiveness access_adv_edu_ 164 24.82 22.84 165 22.03 24.76 166 37.87 26.43 167 13.42 20.17 168 42.22 61.58 显示基本统计信息现在您已经了解了数据的类型,是时候概览您的数据集中的每个列所包含的值了。这可以通过 .describe() 来实现。 Pandas DataFrame 的 describe() 方法用于计算 DataFrame 的各种定量数据的统计数据,例如百分位数、均值和标准差。它用于检查数值数据、对象序列和具有混合类型列集的 DataFrame。 Pandas DataFrame 的 describe() 方法提供了分析数据和为研究生成进一步数学假设所需的所有必要详细信息。Pandas 库的统计部分由 DataFrame describe() 函数处理。 默认情况下,describe() 方法仅检查数值列,但如果您使用 include 参数,则可以提供其他数据类型。 输出 spi__rank spi__score basic__human__needs wellbeing opportunity \ count 168.000000 169.000000 169.000000 169.000000 169.000000 mean 84.500000 67.433136 76.142959 67.774379 58.381657 std 48.641546 15.012150 16.252248 15.397385 15.805868 min 1.000000 32.500000 29.910000 34.170000 23.370000 25% 42.750000 55.170000 62.650000 55.480000 47.900000 50% 84.500000 68.090000 82.460000 67.350000 56.440000 75% 126.250000 78.810000 88.700000 79.200000 69.480000 max 168.000000 92.630000 96.850000 93.800000 89.300000 basic_nutri_med_care_ water_sanitation_ shelter personal_safety_ \ count 169.000000 169.000000 169.000000 169.000000 mean 84.705976 76.122840 77.088166 66.656509 std 14.414040 23.408526 18.811647 14.404784 min 36.420000 14.800000 26.790000 29.460000 25% 72.420000 57.060000 64.570000 55.810000 50% 91.330000 86.150000 87.300000 67.210000 75% 96.720000 96.750000 90.620000 76.340000 max 98.990000 99.270000 96.870000 96.180000 access_basic_knowledge_ access_info_comm_ health_wellness_ env_quality_ \ count 169.000000 169.000000 169.000000 169.000000 mean 74.758698 66.822367 62.325562 67.189704 std 19.464110 20.382707 16.034389 14.340080 min 23.140000 6.810000 21.030000 23.950000 25% 61.560000 52.110000 49.530000 58.290000 50% 79.080000 70.280000 62.370000 67.280000 75% 91.220000 82.750000 73.330000 77.540000 max 99.510000 98.180000 92.100000 95.150000 personal_rights_ personal_freedom_choice_ inclusiveness access_adv_edu_ count 169.000000 169.000000 169.000000 169.000000 mean 69.627811 62.908343 46.802840 54.188166 std 21.535655 15.078164 17.008499 18.564111 min 14.880000 26.670000 4.260000 19.700000 25% 54.010000 52.670000 34.300000 36.230000 50% 71.200000 62.420000 47.240000 54.320000 75% 88.660000 73.790000 58.150000 68.470000 max 97.910000 91.160000 83.770000 89.600000 根据 SPI 排名,挪威在社会进步指数方面位居世界首位。在继续之前,让我们看一下列的见解。 输出 1 为了能够将分数分为高和低,让我们现在检查最高的、平均的和最低的 SPI 分数。 输出 Highest Score of SPI : 92.63 Lowest Score of SPI : 32.5 Average Score of SPI: 67.43313609467457 我们可以将 85 定义为高 SPI 分数所需的最低值,因为 92 是最高值,而 67 是平均 SPI 分数。让我们检查一些关于高 SPI 分数国家的信息。 让我们先检查一下那些在满足基本人类需求方面拥有更好设施的国家。 输出 ![]() 在满足基本人类需求方面拥有最佳基础设施的两个国家是冰岛和日本。让我们现在检查一下提供更多机会的国家。 输出 ![]() 排名前三的国家是丹麦、挪威和芬兰,提供了更多机会。让我们现在检查一下在食品和医疗设施方面最好的国家。 输出 ![]() 在获得医疗保健和营养方面最好的前 3 个国家是冰岛、芬兰和挪威。让我们现在检查一下在水卫生方面更好的国家。 输出 ![]() 在水卫生方面拥有最佳实践的两个国家是瑞士和芬兰。 因此,使用这种方法,我们可以检查确定 SPI 分数所使用的每一个要素。 现在让我们创建一个分级统计地图(choropleth map)来整体检查全球社会进步指数分数。 这里我们使用位置、位置模式和要在控制台中显示的文本来设置字典值。此外,我们还将投影类型设置为“方位等面积”。最后,我们将使用 iplot() 函数绘制图形。 综合代码输出 ![]() 因此,这就是如何使用 Python 计算机语言检查社会进步指数。 总结我希望您喜欢阅读这篇关于 Python 社会进步指数分析的文章。社会进步指数(SPI)是衡量全球社会进步程度的指标。它有助于理解其他国家对其人口的整体福祉有多大的关注。 下一主题Python 中的高级条形图 |
我们请求您订阅我们的新闻通讯以获取最新更新。