戒严令宣布 43 天后执行韩国总统逮捕令的时间线分析

대한민국 대통령 체포영장 집행과정의 타임 테이블 이미지

2024 年 12 月 3 日,韩国经历了宪法史上前所未有的事件:总统宣布紧急戒严,下令封锁国会,占领重要机构,并被指控叛乱。 对他发出了逮捕令,在公安部门和国家警察的紧张对峙之后,逮捕令被执行。

在本篇文章中,我们将按照事件发生的时间顺序,分析案件的主要进展,并将其与《纽约时报》的报道进行比较。 Python 我们通过代码和可视化的方式使其一目了然。

逮捕令执行时间表

以下是执行对韩国总统的第二份逮捕令当天的关键时刻发生的情况。

  • 04:28到达汉南洞住宅
  • 07:34负责部门: 通过第一关
  • 07:48目标:绕过障碍和跨越次级障碍
  • 07:57抵达官邸前的铁门
  • 08:23负责部门: 打开三级屏障,调查队车辆进入
  • 10:33负责部门: 执行逮捕令
  • 10:52:抵达空运处

值得注意的是,安全部队和空降部队在最初抵达大院后进行了长达约三小时的对峙,并在警戒线被突破后分阶段实施了逮捕。

Python 可视化时间表

下面是用 Python 可视化代码表示案例流程的代码,每个步骤所需的时间用柱状图表示,以清楚地显示案例的进度。

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from datetime import datetime

# 经过时间格式化函数
def format_duration(minutes):
    if minutes >= 60:
        小时 = 分钟 // 60
        分钟 = 分钟 % 60
        返回 f"{hours}hr {mins}min"
    else:
        return f"{minutes}min"

# 时间表数据
data = [
    {"time":"04:28", "事件":"抵达汉南洞"}、
    {"time":"07:34","事件":"通过第一个检查站"}、
    {"时间":"07:48","事件":"绕过路障并通过第二个检查点"}、
    {"时间":"07:57","事件":"抵达主门"}、
    {"时间":"08:23","事件":"第三检查站大门开启和团队入场"}、
    {"时间":"10:33","事件":"执行逮捕令"}、
    {"时间":"10:52","事件":"抵达中央情报局"}, {"time": "10:52", "event": "Arrival at CIO"}
]

创建 # 数据帧并转换时间
df = pd.DataFrame(data)
df['time'] = pd.to_datetime(df['time'], format='%H:%M')
df['duration_min'] = df['time'].diff().dt.total_seconds().div(60).fillna(0).astype(int)

计算 # 的总持续时间
total_duration_min = int((df['time'].iloc[-1] - df['time'].iloc[0]).total_seconds() / 60)
df_total = pd.DataFrame([{"event": "Total Duration", "duration_min": total_duration_min}])
df_combined = pd.concat([df_total, df]).reset_index(drop=True)

生成 # 图表
fig, ax = plt.subplots(figsize=(12, 8))
event_labels = [f"{row['event']} ({row['time'].strftime('%H:%M')})" if pd.notna(row['time']) else row['event'].
                for _, row in df_combined.iterrows()]

可视化 #
bars = ax.barh(event_labels, df_combined['duration_min'],color=sns.color_palette("Blues_r",n_colors=len(df_combined)))
for i, bar in enumerate(bars):
    ax.text(bar.get_width() + 5, bar.get_y() + bar.get_height()/2、
            format_duration(df_combined['duration_min'].iloc[i]), ha='left', va='center')

设置 # 图表
ax.set_title('Timeline of Arrest Warrant Execution', fontsize=15)
ax.set_xlabel('Duration (minutes)')
ax.grid(axis='x')
plt.tight_layout()
plt.show()

📊 解读图表

Python 可视化技术生成的图表提供了以下信息

  1. 用时最长: 从抵达汉南洞展馆到通过第一道关卡,耗时约 3 小时(186 分钟)。
  2. 执行逮捕令: 最后阶段,即执行逮捕令,持续了大约两个小时(130 分钟)。
  3. 花费的总时间: 据计算,事件总持续时间约为 6 小时 24 分钟。

组织起来

逮捕令的执行如此复杂和紧急,在宪法史上是前所未有的。 通过按时间顺序进行分析和可视化,我们能够清楚地了解事件的流程和每个步骤的重要性。

Python 支持这些 直观呈现数据的强大工具.请尝试使用上述代码,或将其应用于其他事件分析!

# 代码说明

1. 加载所需的库
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from datetime import datetime
  • matplotlib.pyplot用于绘制图表的默认库。
  • 大熊猫:高效处理数据的库。
  • 海生一个基于 matplotlib 的库,可让您绘制更精美的图表。
  • 日期时间用于处理日期和时间的库。
2. 定义时间格式转换功能
def format_duration(minutes):
    if minutes >= 60:
        小时 = 分钟 // 60
        mins = minutes % 60
        return f"{hours}hr {mins}min"
    else:
        return f"{minutes}min"

此函数将给定的分钟数转换为小时和分钟格式。如果大于 60 分钟,则同时显示小时和分钟;如果小于 60 分钟,则只显示分钟。

3. 数据准备和处理
数据 = [
    {"time":"04:28", "event":"抵达汉南洞"}、
    # ... 其余数据 ...
]

df = pd.DataFrame(data)
df['time'] = pd.to_datetime(df['time'], format='%H:%M')
df['duration_min'] = df['time'].diff().dt.total_seconds().div(60).fillna(0).astype(int)
  • 将数据定义为列表,并将其转换为 pandas DataFrame。
  • 将 "时间 "列转换为日期时间格式。
  • 添加 "duration_min "列,以分钟为单位计算每个事件之间的时间差。
计算所花费的总时间
total_duration_min = int((df['time'].iloc[-1] - df['time'].iloc[0]).total_seconds() / 60)
df_total = pd.DataFrame([{"event": "Total Duration", "duration_min": total_duration_min}])
df_combined = pd.concat([df_total, df]).reset_index(drop=True)
  • 计算第一个事件和最后一个事件之间的总时间。
  • 创建一个包含总耗时的新 DataFrame,并将其与现有数据合并。
5.创建图表并将其可视化
fig, ax = plt.subplots(figsize=(12, 8))
event_labels = [f"{row['event']} ({row['time'].strftime('%H:%M')})" if pd.notna(row['time']) else row['event']] for _, row in df_combined.iterrows()
                for _, row in df_combined.iterrows()]

bars = ax.barh(event_labels, df_combined['duration_min'], color=sns.color_palette("Blues_r", n_colors=len(df_combined)))
  • plt.subplots()来创建绘制图形的区域。
  • 为每个事件创建一个标签。
  • ax.barh()绘制水平条形图。
6.设置图形细节
for i, bar in enumerate(bars):
    ax.text(bar.get_width() + 5, bar.get_y() + bar.get_height()/2、
            format_duration(df_combined['duration_min'].iloc[i]), ha='left', va='center')

ax.set_title('Timeline of Arrest Warrant Execution', fontsize=15)
ax.set_xlabel('Duration (minutes)')
ax.grid(axis='x')
plt.tight_layout()
plt.show()
  • 以文字形式显示每个条形图旁边的花费时间。
  • 设置图表标题、X 轴标签并添加网格。
  • plt.tight_layout()来调整图表布局、 plt.show()来显示图表。
테리 이모티콘
(快乐编码)

类似文章