You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一DataFrame中合并两列数据生成总受伤人数列?

希腊空难数据合并受伤列及可视化方案

需求说明

处理2000-2020年希腊空难事件数据,已筛选得到包含Year、fatal_injuries、minor_injuries、serious_injuries、all_incidents列的DataFrame,需要将minor_injuries(轻伤)和serious_injuries(重伤)合并为total_injuries(总受伤人数)列,后续绘制受伤人数最多年份的统计图表。

修正并完善后的代码

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据并设置显示所有行
pd.set_option('display.max_rows', None)
df = pd.read_csv('all_incidents_cleaned.csv')

# 从事件日期提取年份
df['Year'] = pd.to_datetime(df.incident_date).dt.year

# 按年份分组,统计各伤害类型的事件数量
fatalities = df.groupby('Year').fatalities.value_counts().unstack().reset_index()

# 计算年度总事件数
fatalities['all_incidents'] = fatalities[['Θανάσιμος τραυματισμός', 
'Μικρός τραυματισμός','Σοβαρός τραυματισμός', 'Χωρίς Τραυματισμό']].sum(axis=1)

# 将希腊语列名改为英文
fatalities.rename(columns = {
    'Θανάσιμος τραυματισμός':'fatal_injuries',
    'Μικρός τραυματισμός':'minor_injuries', 
    'Σοβαρός τραυματισμός':'serious_injuries', 
    'Χωρίς Τραυματισμό':'no_injuries'
}, inplace = True)

# 合并轻伤和重伤列为总受伤人数
fatalities['total_injuries'] = fatalities['minor_injuries'] + fatalities['serious_injuries']

# 定位受伤人数最多的年份
max_injury_row = fatalities.loc[fatalities['total_injuries'].idxmax()]
print(f"受伤人数最多的年份:{max_injury_row['Year']},总受伤人数:{max_injury_row['total_injuries']}")

# 绘制年度总受伤人数柱状图
plt.figure(figsize=(12,6))
plt.bar(fatalities['Year'], fatalities['total_injuries'], color='skyblue')
# 标记最大值点
plt.text(max_injury_row['Year'], max_injury_row['total_injuries'] + 0.5, 
         f"{max_injury_row['total_injuries']}", ha='center', color='red', fontweight='bold')
plt.title('2000-2020年希腊空难年度总受伤人数统计')
plt.xlabel('年份')
plt.ylabel('总受伤人数')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

关键步骤说明

  • 合并列:直接通过列相加生成total_injuries,若原列存在缺失值,可添加.fillna(0)确保数值计算正常(如fatalities['minor_injuries'].fillna(0))
  • 最大值定位:用idxmax()获取总受伤人数最大的行索引,快速提取对应年份和数值
  • 可视化:用柱状图直观展示各年份受伤数据,通过文本标记突出最大值,满足作业的图表展示需求

内容的提问来源于stack exchange,提问作者Airin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:05:30