【大数据】—谁是世界上最富的人?

news2024/11/26 13:15:07

引言

在2024年,全球财富的分布再次成为公众和经济学家关注的焦点。随着经济的波动和新兴市场的崛起,亿万富翁的名单也在不断变化。本文将深入探讨这一现象,通过最新的数据可视化分析,揭示世界上最富有的人在2024年的财富状况和趋势。财富不仅是个人成功的体现,也是全球经济动态的一个重要指标。了解亿万富翁的财富来源、行业分布以及他们的财富如何影响全球经济,对于把握经济趋势和预测未来市场走向至关重要。本文的目的是通过数据收集、分析和可视化,为读者提供一个全面的视角,观察和理解世界上最富有的人在2024年的财富状况。我们将探索他们的财富是如何累积的,以及这些财富在全球范围内是如何分布的。

数据集

“2024 年全球最富有的人”数据集提供了 2024 年全球最富有个人的详细概述。该数据集包括有关高管、他们的净资产以及他们所在的国家/地区的关键信息,为经济分析、市场研究和金融研究提供有价值的见解。
来源kaggle数据集包括以下列:

  • Rank 排名
  • Company 公司
  • Executive Name 行政人员姓名
  • Net Worth 净值
  • Country 国家

数据可视化

读入数据:

import numpy as np
import pandas as pd
import seaborn as sns
import plotly.express as px
import matplotlib.pyplot as plt
import plotly.graph_objects as go
sns.set(style="whitegrid")
import warnings
warnings.simplefilter("ignore")
warnings.filterwarnings("ignore")
df = pd.read_csv('World_Billionaire_2024.csv')
df.head(5)

在这里插入图片描述展示前五行数据,可以看到net worth列不是纯数值类型,包含了$和B,我们需要处理以便后续的计算画图。

df['NET WORTH'] = df['NET WORTH'].replace(['[\$,B]'], '', regex=True)
df

我们用正则表达式将$和B替换为空,看处理好的数据:
在这里插入图片描述数据集还是比较全的,全球2743个富翁。

在这里插入图片描述继续清洗,将net worth列非数值类型的值转为缺失值。

描述性统计和删除缺失值:
在这里插入图片描述探索性分析(EDA):

# 创建一个新的图形窗口,并设置其大小为20x20英寸(注意,这里的尺寸是指图形的画布大小,而非显示时的像素大小)  
plt.figure(figsize=(20,20))    
# 绘制df['NET WORTH']列的直方图。bins=20表示将数据分成20个等宽的区间来绘制直方图。edgecolor='black'设置直方图的边缘颜色为黑色。  
plt.hist(df['NET WORTH'], bins=20, edgecolor='black')    
# 设置x轴的标签为'Net Worth',表示直方图所展示的是“净值”的分布。  
plt.xlabel('Net Worth')    
# 设置y轴的标签为'Frequency',表示直方图的高度(或面积)代表每个区间内数据的频数或频率。  
plt.ylabel('Frequency')    
# 设置图形的标题为'Distribution of Net Worth',表示这个图形展示的是“净值”的分布情况。  
plt.title('Distribution of Net Worth')    
# 将图形保存为一个PNG文件到指定的路径('/Users/c/Desktop/heatmap_correlation_matrix.png')。dpi=350设置保存的图像分辨率为350像素每英寸。  
# 注意:文件名'heatmap_correlation_matrix.png'可能会与实际内容不符,因为这里是一个直方图,而不是热力图或相关性矩阵。  
plt.savefig('/Users/c/Desktop/heatmap_correlation_matrix.png', dpi=350)    
# 显示图形在屏幕上。如果这行代码不执行,图形将只被保存到文件中,而不会在屏幕上显示。  
plt.show()

在这里插入图片描述净值列数据直方图,富人的世界贫富悬殊还是很严重啊!

# 创建一个新的图形窗口,并设置其大小为20x20英寸。这个尺寸将决定绘图在屏幕或保存时的物理大小。  
plt.figure(figsize=(20,20))    
# 使用df['COUNTRY'].value_counts()计算'COUNTRY'列中每个唯一值的出现次数,并将这些次数作为饼图的扇区大小。  
# value_counts()方法返回一个Series,其索引是唯一的'COUNTRY'值,值是这些唯一值的出现次数。  
plt.pie(df['COUNTRY'].value_counts(),   
        # labels参数用于指定饼图中每个扇区的标签。这里使用df['COUNTRY'].unique()来获取'COUNTRY'列的所有唯一值作为标签。  
        labels=df['COUNTRY'].unique(),   
        # autopct参数是一个格式化字符串或函数,用于指定饼图中每个扇区的百分比标签的格式。  
        # '%1.1f%%'表示显示带有1位小数的百分比值。  
        autopct='%1.1f%%')    
# 设置图形的标题为'Country-wise Distribution',表示这是一个按国家分布的饼图。  
plt.title('Country-wise Distribution')  
plt.savefig('/Users/c/Desktop/heatmap_correlation_matrix.png', dpi=350)      
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述每个国家富人的占比情况,中国只占2.4%。

# 从df(一个pandas DataFrame)中选择'NET WORTH'列中最大的10个值及其对应的行,并将结果存储在top_10变量中。  
# 这将返回一个新的DataFrame,其中包含'NET WORTH'列中最大的10个值以及相应的所有列。  
top_10 = df.nlargest(10, 'NET WORTH')    
# 创建一个新的图形窗口,并设置其大小为12x8英寸。这将决定绘图在屏幕或保存时的物理大小。  
plt.figure(figsize=(12, 8))    
# 使用seaborn库(假设已经通过import seaborn as sns导入)的barplot函数来绘制一个条形图。  
# x参数指定了条形图的x轴数据,即'NET WORTH'列。  
# y参数通常用于指定条形的分类变量,但在这里,它用于指定条形的标签(通常是分类变量的值),因为我们想要显示'EXECUTIVE NAME'。  
# data参数指定了数据源,即前面创建的top_10 DataFrame。  
# palette参数指定了条形的颜色方案,这里使用了'viridis'颜色方案。  
sns.barplot(x='NET WORTH', y='EXECUTIVE NAME', data=top_10, palette='viridis')    
# 设置图形的标题为'Top 10 Richest People in the World - 2024'。  
plt.title('Top 10 Richest People in the World - 2024')    
# 设置x轴的标签为'Net Worth (in billions)',表示条形图x轴表示的是净值(以十亿美元为单位)。  
plt.xlabel('Net Worth (in billions)')    
# 设置y轴的标签为'Executive Name',表示条形图的y轴显示的是执行人员(可能是富豪)的名字。  
plt.ylabel('Executive Name')    
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述全球富人榜前十,第一名那英文是马斯克吧,是个很有格局的人,追求的是对科技进步的极限,而不是金钱。

# 创建一个新的图形窗口,并设置其大小为8x8英寸。这将决定绘图在屏幕或保存时的物理大小。  
plt.figure(figsize=(8, 8))    
# 使用pie函数绘制一个饼图。饼图的扇区大小由top_10['NET WORTH']列中的值决定。  
# 但是,请注意,通常pie图的扇区大小表示的是比例(即百分比),而不是具体的数值。  
# 如果'NET WORTH'列包含具体的数值(如净值金额),则可能需要先进行归一化处理。  
plt.pie(top_10['NET WORTH'],   
        # labels参数指定每个扇区的标签,这里使用top_10['EXECUTIVE NAME']作为标签,即显示每个富豪的名字。  
        labels=top_10['EXECUTIVE NAME'],   
        # autopct参数指定了每个扇区上显示的百分比格式,'%1.1f%%'表示带有一位小数的百分比。  
        autopct='%1.1f%%',   
        # startangle参数指定了饼图的起始角度(以度为单位),这里设置为140度,即饼图从140度角的位置开始绘制。  
        startangle=140,   
        # colors参数指定了饼图中每个扇区的颜色,这里使用seaborn库(sns)的color_palette函数来生成一个包含10种颜色的调色板。  
        # 'viridis'是seaborn提供的一个颜色方案名称,它将生成一个从蓝到黄的渐变色系。  
        colors=sns.color_palette('viridis', 10))    
# 设置图形的标题为'Net Worth Distribution of Top 10 Richest People',表示这是前10位最富有的人的净值分布图。  
plt.title('Net Worth Distribution of Top 10 Richest People')    
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述
前 10 名最富有的人的净资产分布饼图,还是马斯克的饼大。

# 创建一个新的图形窗口,并设置其大小为20x20英寸。这将决定绘图在屏幕或保存时的物理大小。  
plt.figure(figsize=(20, 20))    
# 使用seaborn库(假设已经通过import seaborn as sns导入)的countplot函数来绘制一个条形图。  
# 这个条形图展示了'COUNTRY'列中不同国家的频次(即每个国家有多少人在数据集中)。  
# y参数指定了条形图的y轴数据,即'COUNTRY'列。  
# data参数指定了数据源,即df(一个pandas DataFrame)。  
# order参数指定了条形图的排序顺序,这里使用df['COUNTRY'].value_counts().index来获取按频次排序的国家列表。  
# palette参数指定了条形的颜色方案,这里使用了'cubehelix'颜色方案。  
sns.countplot(y='COUNTRY', data=df, order=df['COUNTRY'].value_counts().index, palette='cubehelix')    
# 设置图形的标题为'Number of Richest People by Country',表示这是按国家分类的最富有人的数量图。  
plt.title('Number of Richest People by Country')    
# 设置x轴的标签为'Count',表示条形图的x轴表示的是频次(即每个国家的人数)。  
plt.xlabel('Count')    
# 设置y轴的标签为'Country',表示条形图的y轴表示的是国家。  
plt.ylabel('Country')  
plt.savefig('/Users/c/Desktop/heatmap_correlation_matrix.png', dpi=350)       
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述按国家/地区划分的最富有人数统计图 ,第一名为什么最后没把A写出来。

# 创建一个新的图形窗口,并设置其大小为20x20英寸。这将影响图形的尺寸,使得图形在屏幕上或保存为文件时具有更大的尺寸。  
plt.figure(figsize=(20, 20))    
# 使用seaborn库(假设已经通过import seaborn as sns导入)的boxplot函数来绘制一个箱型图(Boxplot)。  
# 箱型图是一种用于展示一组数值数据分散情况的统计图,包括中位数、四分位数和可能的异常值。  
# x参数指定了箱型图的x轴数据,即'NET WORTH'列,这通常表示要比较的不同类别的数据。  
# y参数指定了箱型图的y轴数据,即'COUNTRY'列,这通常用于区分不同的组别或类别。  
# data参数指定了数据源,即df(一个pandas DataFrame),它包含了'NET WORTH'和'COUNTRY'两列。  
# palette参数指定了箱型图中各箱体的颜色方案,这里使用了'coolwarm'颜色方案,这是一种从冷色调(蓝色)到暖色调(红色)的渐变颜色。  
sns.boxplot(x='NET WORTH', y='COUNTRY', data=df, palette='coolwarm')    
# 设置图形的标题为'Net Worth Distribution by Country',表示这是一个展示不同国家净值分布的箱型图。  
plt.title('Net Worth Distribution by Country')    
# 设置x轴的标签为'Net Worth (in billions)',表示箱型图的x轴表示的是净值(以十亿美元为单位)。  
plt.xlabel('Net Worth (in billions)')    
# 设置y轴的标签为'Country',表示箱型图的y轴表示的是国家。  
plt.ylabel('Country')  
plt.savefig('/Users/c/Desktop/heatmap_correlation_matrix.png', dpi=350)         
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述按国家/地区划分的净资产箱形图,这个图可以看异常值噢,就是四分位法的可视化版。

# 创建一个新的图形窗口,并设置其大小为20x20英寸。这将决定图形在屏幕上或保存时的物理大小。  
plt.figure(figsize=(20, 20))    
# 使用seaborn库(假设已经通过import seaborn as sns导入)的violinplot函数来绘制小提琴图(Violin Plot)。  
# 小提琴图是一种结合了箱型图和核密度估计(KDE)的可视化工具,能够显示数据的分布形状、中位数、四分位数以及可能的异常值。  
# x参数指定了小提琴图的x轴数据,即'NET WORTH'列,这通常表示要比较的不同类别的数据。  
# y参数指定了小提琴图的y轴数据,即'COUNTRY'列,这通常用于区分不同的组别或类别。  
# data参数指定了数据源,即df(一个pandas DataFrame),它包含了'NET WORTH'和'COUNTRY'两列。  
# palette参数指定了小提琴图中各个小提琴的颜色方案,这里使用了'muted'颜色方案,这是一种柔和的颜色组合。  
sns.violinplot(x='NET WORTH', y='COUNTRY', data=df, palette='muted')    
# 设置图形的标题为'Net Worth Distribution by Country',表示这是一个展示不同国家净值分布的小提琴图。  
plt.title('Net Worth Distribution by Country')    
# 设置x轴的标签为'Net Worth (in billions)',表示小提琴图的x轴表示的是净值(以十亿美元为单位)。  
plt.xlabel('Net Worth (in billions)')    
# 设置y轴的标签为'Country',表示小提琴图的y轴表示的是国家。  
plt.ylabel('Country')  
plt.savefig('/Users/c/Desktop/heatmap_correlation_matrix.png', dpi=350)           
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述
按国家/地区划分的净资产小提琴图。

# 使用seaborn库(假设已经通过import seaborn as sns导入)的histplot函数来绘制一个直方图,并可以叠加一个核密度估计(KDE)曲线。  
# histplot函数是seaborn库中用于绘制直方图的函数,相比matplotlib的hist函数,它提供了更多的可定制选项和更好的可视化效果。  
sns.histplot(df['NET WORTH'], kde=True, color='purple')    
# kde=True参数表示在直方图上叠加一个核密度估计(KDE)曲线,用于平滑地显示数据的分布。  
# color='purple'参数设置直方图和KDE曲线的颜色为紫色。    
# 设置图形的标题为'Distribution of Net Worth',表示这是一个展示净值分布的图形。  
plt.title('Distribution of Net Worth')    
# 设置x轴的标签为'Net Worth (in billions)',表示x轴表示的是净值(以十亿美元为单位)。  
plt.xlabel('Net Worth (in billions)')    
# 设置y轴的标签为'Frequency',表示y轴表示的是各个净值区间内的频数或频率。  
plt.ylabel('Frequency')    
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述
净资产分布图,由于富人的世界贫富差距比较严重,导致这个图不好看,很偏态!

# 创建一个新的图形窗口,并设置其大小为20x20英寸。这将决定图形在屏幕上或保存时的物理大小。  
plt.figure(figsize=(20, 20))    
# 使用seaborn库(假设已经通过import seaborn as sns导入)的stripplot函数来绘制一个条带图(Strip Plot)。  
# 条带图是一种展示分类变量(在这里是'COUNTRY')与数值变量(在这里是'NET WORTH')之间关系的图形。  
# 它通过为每个观察值在y轴上的分类变量位置绘制一个点来展示数值变量的分布。  
# x参数指定了条带图的x轴数据,即'NET WORTH'列,表示净值。  
# y参数指定了条带图的y轴数据,即'COUNTRY'列,表示国家。  
# data参数指定了数据源,即df(一个pandas DataFrame),它包含了'NET WORTH'和'COUNTRY'两列。  
# jitter参数设置为True,表示在y轴(即国家)上添加一些随机噪声(抖动),以避免数据点重叠。  
# palette参数指定了条带图中点的颜色方案,这里使用了'pastel'颜色方案,这是一种柔和的彩色方案。  
sns.stripplot(x='NET WORTH', y='COUNTRY', data=df, jitter=True, palette='pastel')    
# 设置图形的标题为'Net Worth Distribution by Country',表示这是一个展示不同国家净值分布的图形。  
plt.title('Net Worth Distribution by Country')    
# 设置x轴的标签为'Net Worth (in billions)',表示x轴表示的是净值(以十亿美元为单位)。  
plt.xlabel('Net Worth (in billions)')    
# 设置y轴的标签为'Country',表示y轴表示的是国家。  
plt.ylabel('Country')  
plt.savefig('/Users/c/Desktop/heatmap_correlation_matrix.png', dpi=350)             
# 显示图形在屏幕上。如果这行代码不执行,图形将不会被显示出来。  
plt.show()

在这里插入图片描述
按国家/地区划分的净资产条带图 。

小结:

今天使用富人数据,画了很多图,方便以后调用,大家也可以关注我方便查看。
我还会绘制很多图,网页版的、可以动的、可交互的都会,点个赞,收藏评论下是我创作的动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1861940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成都百洲文化传媒有限公司助力电商品牌乘风破浪

在当今数字化时代,电商行业风起云涌,竞争异常激烈。成都百洲文化传媒有限公司凭借其对电商行业的深刻理解与实战经验,已然成为行业中的佼佼者。公司专注于电商服务领域,通过创新的营销模式和精准的市场策略,助力众多品…

#03动态规划

要点: 动态规划方法与贪心法、分治法的异同; 动态规划方法的基本要素与求解步骤; 动态规划方法的应用。 难点: 如何根据问题的最优子结构性质构造构造动态规划方法中的递归公式或动态规划方程。 动态规划的基本思想 动态规…

使用Servlet开发javaweb,请求常见错误详解及其解决办法【404、405、500】

Servlet报错的情况多种多样,涵盖了配置错误、代码逻辑错误、资源未找到、权限问题等多个方面。以下是一些常见的Servlet报错情况及其可能的原因和解决方法: 404 Not Found: 错误原因图示: URL映射 发送请求,出现404错误 原因: 请…

excel隐藏的部分内容如何显示出来?3个方法帮助你!

excel隐藏的部分如何显示出来?你是否曾经在Excel中遇到过某些单元格被隐藏,或者某些数据在编辑时突然消失,让你感到困惑和无助?不要担心,今天我将向你揭示如何解决这些问题,让你轻松显示隐藏的部分。 方法1…

神经网路学习7-线性模型

一个最简单的线性模型,w是权重,一般来说会取随机值,然后不断学习直到与预期相同 如此以此取每个值与真实值的差值,即评估误差 即找一个合适的权重w,使得平均误差最小 上面的是针对单个样本的,后面的是对…

onnx模型修改:去掉Dropout层

文章目录 尝试1:强行设置dropout层train mode为False尝试2:找到onnx模型中的dropout, train mode设置为False尝试3:直接删除dropout层,连接其输入输出结语 最近训练模型使用了tinyvit,性能挺强的: 但是导出…

Posix消息队列使用总结

Posix在线文档: The Single UNIX Specification, Version 2 (opengroup.org) Linux系统中提供了两种不同接口的消息队列: POSIX消息队列。POSIX为可移植的操作系统接口。System V消息队列。System V 是 AT&T 的第一个商业UNIX版本(UNIX System III)的…

【Mac】iTerm for mac(终端工具)软件介绍及安装教程

软件介绍 iTerm 是 macOS 上一个非常受欢迎的终端仿真器,提供了比默认的 Terminal 应用更多的功能和定制选项。它是一款开源软件,主要用于命令行界面的操作和开发者工具。 主要特点和功能: 分页和标签: iTerm 允许用户在单个窗…

Spring Boot项目的两种发布方式

5.1.方式1&#xff1a;通过jar包发布 步骤1&#xff1a;在pom中添加一个SpringBoot的构建的插件 <build><plugins><plugin><groupId>org.springframework.boot</groupId><!--自动检测项目中的 main 函数--><artifactId>spring-boot…

开发一款直播APP完整指南

直播是一种强大的营销工具&#xff0c;可以让企业与观众进行真实的互动。 根据Grand View Research发布的预测&#xff0c;直播行业规模将从 2021 年的 700 亿美元增长到 2028 年的近 2240 亿美元&#xff0c;七年内增长三倍。 区块链技术和人工智能等技术进步将在未来几年提…

mybatis-plus 实体中空字段更新不上

FieldStrategy 是一个枚举类型&#xff0c;它定义了字段的几种策略&#xff1a; IGNORED&#xff1a;忽略判断&#xff0c;所有字段都进行更新操作 NOT_NULL&#xff1a;非 NULL 判断&#xff08;默认策略&#xff09;&#xff0c;字段非 NULL 才进行更新 NOT_EMPTY&#xff…

数据结构与算法—空间复杂度详解与示例(C#,C++)

文章目录 1. 数据结构概述2. 空间复杂度的定义及影响因素3. 空间复杂度的区分常数空间复杂度&#xff08;O(1)&#xff09;线性空间复杂度&#xff08;O(n)&#xff09;其他空间复杂度 4. 几种典型数据结构的优缺点分析数组&#xff08;Array&#xff09;链表&#xff08;Linke…

专业解析U盘数据恢复:方法、方案与常见问答

一、U盘数据恢复概述 在信息化社会&#xff0c;U盘作为一种便捷的数据存储介质&#xff0c;广泛应用于各种场合。然而&#xff0c;由于其体积小、易携带的特点&#xff0c;U盘数据丢失的风险也随之增加。U盘数据恢复&#xff0c;即是指通过技术手段&#xff0c;将因各种原因导…

【Spine学习16】之 人物面部绑定

1、创建头部骨骼 一根头骨 以头骨为父结点创建一个面部控制器face-holder 2、创建头发和face面部控制结点的变换约束 左右头发的约束指向为face结点 3、设定后发的变换约束&#xff0c;约束指向为face结点&#xff0c;反方向移动 设置参数为-100 同理&#xff0c;耳朵也依…

pytest测试框架pytest-html插件生成HTML格式测试报告

Pytest提供了丰富的插件来扩展其功能&#xff0c;pytest-html插件帮助我们生成HTML格式的测试报告&#xff0c;为我们提供直观、有效的测试结果展示。 为了使用 pytest-html&#xff0c;需要满足以下条件&#xff1a; Python 3.6 或更高版本 pytest-html安装 使用pip命令安…

Kubernetes Prometheus 系例 | kubernetes 部署 Kafka exporter监控Kafka集群

prometheus 监控 kafka 常见的有两种开源方案&#xff1b; 部署 exporter 或 jmx 配置监控。 项目地址&#xff1a; kafka_exporter&#xff1a;https://github.com/danielqsj/kafka_exporter jmx_exporter&#xff1a;https://github.com/prometheus/jmx_exporter 本文采用kaf…

Java宝藏实验资源库(5)字符流

一、实验目的 掌握输入输出流的基本概念。掌握字符流处理类的基本结构。掌握使用字符流进行输入输出的基本方法。 二、实验内容、过程及结果 **12.12 (Reformat Java source code) Write a program that converts the Java source code from the next-line brace style to…

Reactor模型:网络线程模型演进

一&#xff0c;阻塞IO线程池模型&#xff08;BIO&#xff09; 这是传统的网络编程方案所采用的线程模型。 即有一个主循环&#xff0c;socket.accept阻塞等待&#xff0c;当建立连接后&#xff0c;创建新的线程/从线程池中取一个&#xff0c;把该socket连接交由新线程全权处理。…

HarmonyOS NEXT Developer Beta1配套相关说明

一、版本概述 2024华为开发者大会&#xff0c;HarmonyOS NEXT终于在万千开发者的期待下从幕后走向台前。 HarmonyOS NEXT采用全新升级的系统架构&#xff0c;贯穿HarmonyOS全场景体验的底层优化&#xff0c;系统更流畅&#xff0c;隐私安全能力更强大&#xff0c;将给您带来更高…

qmt量化交易策略小白学习笔记第44期【qmt编程之期货行情数据】

qmt编程之获取期货行情数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 获取行情数据 提示 使用该接口时&#xff0c;需要先订阅实时行情(subscribe_quote)或下载过历史行情(download_hi…