? 博主简介:曾任某智慧城市类企业算法总监,CSDN / 稀土掘金 等平台人工智能领域优质创作者。
目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。
一、引言
2024 年全国 500 强企业排行榜已经出炉,这份榜单涵盖了众多优秀企业的详细信息,包括企业名称、总部所在地以及营业收入等。为了更直观地展示这些数据,本文将使用 Pyecharts 库进行可视化分析,从多个角度揭示这些企业的分布情况及其经济贡献。
二、数据准备
首先,我们假设已经有一份包含以下字段的 CSV 文件:
2.1 导入分析库
import pandas as pd
from pyecharts.charts import Line
from pyecharts.charts import Bar
from pyecharts.charts import Pie
from pyecharts.charts import Map
from pyecharts.charts import Geo
from pyecharts.charts import WordCloud
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')
2.2 加载数据
df = pd.read_csv("2024_top500.csv")
print(df)
print(df.info())


2.3 数据转换
df['营业收入(万元)'] = df['营业收入(万元)'].apply(lambda x:float(x.replace(',','')))
将数据中的'营业收入(万元)'字段从字符串类型转换成浮点数类型,方便后面的数据聚合计算。
三、数据可视化
3.1 2024 年中国 500 强企业各省数量排行
首先,我们统计每个省份的企业数量,并使用柱状图进行展示。
temp = df['总部所在地'].value_counts().reset_index()
temp.columns = ['省份','计数']
data_pair = [(row['省份'], row['计数']) for _, row in temp.iterrows()]
top_city = sorted(data_pair, key=lambda x: x[1], reverse=True)[::-1]
bar = (Bar(init_opts=opts.InitOpts(theme='dark',width='1000px', height='600px'))
.add_xaxis([x[0] for x in top_city])
.add_yaxis("", [x[1] for x in top_city])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="2024 年中国 500 强企业各省数量排行",
subtitle="""数据截止日期:2024年9月,--公众号:NLP随手记--""",
pos_left="center"),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)), #
legend_opts=opts.LegendOpts(is_show=True),
visualmap_opts=opts.VisualMapOpts(
is_show=False,
pos_top='60%',
pos_left='40%',
range_color=["green", "yellow", "red", "pink", "orange", "purple"]
)
)
.reversal_axis()
)
bar.render_notebook()

3.2 2024 年中国 500 强企业各省数量排行地图热力图
接下来,我们使用地图热力图展示各省企业数量的分布情况。
# 新建一个BMap对象
geo = Geo(init_opts=opts.InitOpts(theme='dark'))
data_pair = [[temp.loc[i]['省份'],temp.loc[i]['计数']] for i in range(len(temp))]
geo = (
geo.add_schema(maptype="china", zoom=1)
.add("", data_pair, type_='heatmap')
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="2024 年中国 500 强企业各省数量排行热力图",
subtitle="""数据截止日期:2024年9月,--公众号:NLP随手记--""",
pos_left="center"),
legend_opts=opts.LegendOpts(is_show=False),
visualmap_opts=opts.VisualMapOpts(is_show=True,max_=100,
is_piecewise=False,
range_color=['blue', 'green', 'yellow', 'red'])
)
)
geo.render_notebook()
geo.render('地图.html')

3.3 2024 年全国 500 强企业各省份总营业收入(万元)占比
我们计算每个省份的总营业收入,并绘制饼图展示其占比。
temp1 = df.groupby('总部所在地').sum()['营业收入(万元)'].reset_index()
temp1.columns = ['省份','省总营业收入(万元)']
pie = (
Pie(
init_opts=opts.InitOpts(width='1000px', height='800px')
)
.add(series_name="",
data_pair=[list(z) for z in zip(temp1['省份'], temp1['省总营业收入(万元)'])],
radius=["30%",'50%'],
center=["38%", "50%"],
label_opts=opts.LabelOpts(is_show=False, position="center"),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='2024年全国500强企业各省份总营业收入(万元)占比',
subtitle="""数据截止日期:2024年9月,--公众号:NLP随手记--""",
pos_top='2%',
pos_left="center",
title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
),
# visualmap_opts=opts.VisualMapOpts(
# is_show=False,
# max_=600,
# pos_top='70%',
# pos_left='20%',
# range_color=["green", "yellow", "red", "pink", "orange"]
# ),
legend_opts=opts.LegendOpts(is_show=True, pos_right="15%", pos_top="8%",orient="vertical"),
)
.set_colors(['#c23531', '#2f4554', '#61a0a8', '#d48265', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3', '#f05b72', '#ef5b9c', '#f47920', '#905a3d', '#fab27b', '#2a5caa', '#444693', '#726930', '#b2d235', '#6d8346', '#ac6767', '#1d953f', '#6950a1', '#918597']) #改变颜色
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
)
pie.render_notebook()
pie.render("pie_set_color.html")

3.4 2024 年全国 500 强企业省总营业收入均值和最大值
我们计算每个省份的总营业收入的均值和最大值,并使用表格进行展示。
3.4.1 数据准备
temp2 = df.groupby('总部所在地').mean()['营业收入(万元)'].reset_index()
temp2.columns = ['省份','省总营业收入(万元)_均值']
temp3 = df.groupby('总部所在地').max()['营业收入(万元)'].reset_index()
temp3.columns = ['省份','省总营业收入(万元)_最大值']
temp4 = pd.merge(temp2, temp3,on='省份')
3.4.2 绘制柱状图
bar = (
Bar(init_opts=opts.InitOpts(width='1200px', height='600px'))
.add_xaxis(temp4['省份'].tolist())
.add_yaxis(
series_name="省总营业收入(万元)_均值",
y_axis=temp4['省总营业收入(万元)_均值'].tolist(),
yaxis_index=0,
color="#d14a61",
)
.set_global_opts(
yaxis_opts=opts.AxisOpts(
name="营业收入(万元)",
min_=0,
max_=max(temp4['省总营业收入(万元)_最大值'].tolist()),
position="right",
offset=80,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} 万元"),
),
title_opts=opts.TitleOpts(title="2024年全国500强企业省总营业收入均值和最大值",
subtitle="""数据截止日期:2024年9月,--公众号:NLP随手记--""",
pos_left="center",
title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
legend_opts=opts.LegendOpts(pos_left="0%"),
)
)

3.4.3 绘制折线图
# 折线图设置
line = (
Line(init_opts=opts.InitOpts(width='1200px', height='600px'))
.add_xaxis(temp4['省份'].tolist())
.add_yaxis(
series_name="省总营业收入(万元)_最大值",
y_axis=temp4['省总营业收入(万元)_最大值'].tolist(),
# 设置标记的图形为三角形
# symbol='triangle',
# # 设置标记图形的大小
# symbol_size=15,
# # 删了一个Y轴,Y轴索引由2改为1
# yaxis_index=1,
color="#61a0a8", # 设置紫色
# # 显示标签
#label_opts=opts.LabelOpts(is_show=False, font_size=10, font_weight='bold'),
# linestyle_opts=opts.LineStyleOpts(width=3)
# # 使用LineStyleOpts来设置线的粗细
)
)
line.render_notebook()

3.4.4 柱状图和折线图组合
bar.overlap(line)
bar.render_notebook() #渲染图表

3.5 2024年全国500强企业营业收入额的词云图
最后,我们使用词云图来绘制2024年全国500强企业营业收入额的词云图。
data = [(df.loc[i]['企业名称'],df.loc[i]['营业收入(万元)']) for i in range(len(df))]
wordcloud = (
WordCloud(init_opts=opts.InitOpts(theme='dark',width='1200px', height='600px'))
.add(series_name="", data_pair=data)
.set_global_opts(
title_opts= opts.TitleOpts(title="2024年全国500强企业营业收入额的词云图",
subtitle="""数据截止日期:2024年9月,--公众号:NLP随手记--""",
pos_left="center",
title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)),
# tooltip_opts=opts.TooltipOpts(is_show=True),
)
.set_series_opts(label_opts=opts.LabelOpts(
rotate=30, # 旋转角度
font_size=20, # 字体大小
font_family="Arial", # 字体类型
))
.render("wordcloud.html")
)

总结
通过本文,我们展示了如何使用 Pyecharts 对 2024 年全国 500 强企业的数据进行可视化分析。从柱状图、地图热力图、饼图、表格到词云图,可以从图中直观的发现500强企业具体情况。
如果您在人工智能领域遇到技术难题,或是需要专业支持,无论是技术咨询、项目开发还是个性化解决方案,我都可以为您提供专业服务,如有需要可站内私信或添加下方VX名片(ID:xf982831907)
期待与您一起交流,共同探索AI的更多可能!
