自俄乌冲突以来,以俄罗斯和北约为主的双方在乌克兰战场发生了多轮激烈角逐,本文拟通过公开的数据对俄罗斯乌克兰冲突发生以来俄方损失情况做简单展示,主要为大家展示数据可视化分析的魅力。 本分析节选自数据驱动建模中心。
Python: Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
plotly:plotly 的 Python 软件包是一个开源的代码库,它基于 plot.js,是一个高度封装的可视化保,适合制作网页端交互图表。
pandas:pandas 库是一个免费、开源的第三方 Python 库,是 Python 数据分析必不可少的工具之一,它为 Python 数据分析提供了高性能,且易于使用的数据结构,即 Series 和 DataFrame。Pandas 自诞生后被应用于众多的领域,比如金融、统计学、社会科学、建筑工程等。
import numpy as np
import pandas as pd
import plotly
import plotly.graph_objs as go
import plotly.express as px
from plotly.subplots import make_subplots
# Load human losses
# First day(26 of February) accumulates data for three days (24-26 February)
ru_losses_per = pd.read_csv('../input/2022-ukraine-russian-war/russia_losses_personnel.csv')
# Load equipment losses
ru_losses_eq = pd.read_csv('../input/2022-ukraine-russian-war/russia_losses_equipment.csv')
# Create data
x, y = ru_losses_per['date'], ru_losses_per['personnel']
# Create plot
fig = go.Figure()
# Add traces
fig.add_trace(go.Scatter(x=x, y=y,
mode='lines+markers',
name='lines+markers'))
fig.show()
# Create data
x, y = ru_losses_per['date'], ru_losses_per['POW']
# Create plot
fig = go.Figure()
# Add traces
fig.add_trace(go.Scatter(x=x, y=y,
mode='lines+markers',
name='lines+markers'))
fig.show()
# Create data
x = ru_losses_eq['date']
y0 = ru_losses_eq['aircraft']
y1 = ru_losses_eq['helicopter']
y2 = ru_losses_eq['anti-aircraft warfare']
y3 = ru_losses_eq['drone']
# Create plot
fig = go.Figure()
# Add traces
fig.add_trace(go.Scatter(x=x, y=y0,
mode='lines+markers',
name='Aircraft'))
fig.add_trace(go.Scatter(x=x, y=y1,
mode='lines+markers',
name='Helicopter'))
fig.add_trace(go.Scatter(x=x, y=y2,
mode='lines+markers',
name='Anti-aircraft warfare'))
fig.add_trace(go.Scatter(x=x, y=y3,
mode='lines+markers',
name='Drone'))
fig.update_layout(legend_orientation="h",
legend=dict(x=0, y=1, traceorder="normal"),
title="Weapons: Air",
xaxis_title="Date",
yaxis_title="Weapons ",
margin=dict(l=0, r=0, t=30, b=0))
fig.show()
dict_russia_losses_equipment_sum = ru_losses_eq.sum(axis=0)[1:]
fig = go.Figure(data=[go.Pie(labels=dict_russia_losses_equipment_sum.keys(), values=dict_russia_losses_equipment_sum.values, textinfo='label',
insidetextorientation='radial'
)])
fig.show()
数据不会骗人,战争爆发后,除了中华人民共和国大幅度增加从俄罗斯进口粮食、能源、矿石以外,印度也增加了对俄罗斯能源粮食的进口。让人意想不到的是,欧洲与美利坚合众国也增加了对俄罗斯能源进口,全部是悄悄用卢布购买的。而且还有些大买家也在不声不响购买俄罗斯粮油,巴基斯坦这次罕见的与印度保持一致的进口粮食与石油,巴西也在悄悄大量进口俄罗斯化肥与原材料。墨西哥也在悄悄进口俄罗斯化肥与原材料。这些大买主加起来总共购买了俄罗斯新增出口的数百亿美元物资中的90%,其中中国占了30%,其次是欧美占20%。
随着大数据、人工智能等技术的发展,战例数据的标准化描述、规范化存储、智能化分析逐渐成为现实。世界主要军事强国都非常重视战例分析系统的建设。美俄等国通过战例数据库对战例信息进行归类整理,尤其注重对20世纪80年代以来的战例进行系统梳理和研究,将其作为各级部队培训的重要内容和提高指挥员谋略水平的重要手段。战例分析具备重大的现实意义,因此我国也正在开展此类的工作。其中,数据可视化起到了重要的引领作用。