戒严令宣布 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 可视化技术生成的图表提供了以下信息
- 用时最长: 从抵达汉南洞展馆到通过第一道关卡,耗时约 3 小时(186 分钟)。
- 执行逮捕令: 最后阶段,即执行逮捕令,持续了大约两个小时(130 分钟)。
- 花费的总时间: 据计算,事件总持续时间约为 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()来显示图表。







