here is a pic of df1 = fatalities
因此,为了创建一个显示受伤人数最多的年份的图表(我有一个关于2000-2020年希腊飞机失事事件的任务),我需要创建一个包含轻伤和重伤的列。
我有一个包含更多数据的第一个df,但是我试图只捕获我需要的列w,所以我们有死亡df 1,它包含年份,fatal_injuries,minor_injuries,serious_injuries和每年的事故总数(all_incident)。我想做的是,将minor和serious injuries合并到一个名为total_injuries或只是injuries的列中。
import pandas as pd
pd.set_option('display.max_rows', None)
df = pd.read_csv('all_incidents_cleaned.csv')
df.head()
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)
df\['percentage_deaths_to_all_incidents'\] = round((fatalities\['Θανάσιμος
τραυματισμός'\]/fatalities\['all_incidents'\])\*100,1)
df1 = fatalities
fatalities_pd = pd.DataFrame(fatalities)
df1
fatalities_pd.rename(columns = {'Θανάσιμος τραυματισμός':'fatal_injuries','Μικρός τραυματισμός':
'minor_injuries', 'Σοβαρός τραυματισμός' :'serious_injuries', 'Χωρίς Τραυματισμό' :
'no_injuries'}, inplace = True)
df1
1条答案
按热度按时间toiithl61#
对于当前数据集,需要两个步骤。
首先,我将“NaN”值替换为0。这可以通过以下方式完成:
然后,您可以创建一个新列“total_injuries”,其中包含轻伤和重伤的总和:
在处理数据之前先检查数据的一致性总是很好的。有用的命令如下: