我有事故數據,其中部分數據包括事故發生的年份、受傷程度和受傷人員的年齡。這是 DataFrame 的一個示例:
df = pd.DataFrame({'Year': ['2010', '2010','2010','2010','2010','2011','2011','2011','2011'],
'Degree_injury': ['no_injury', 'death', 'first_aid', 'minor_injury','disability','disability', 'disability', 'death','first_aid'],
'Age': [50,31,40,20,45,29,60,18,48]})
print(df)
當年齡小於 40 歲時,我希望將三個輸出變量按年份分組在表中,併計算殘疾人數、死亡人數和輕傷人數。
輸出應該是這樣的:
當年齡小於 40 時,我生成了三個變量(num_disability、num_death、num_minor_injury),如下所示。
disability_filt = (df['Degree_injury'] =='disability') &\
(df['Age'] <40)
num_disability = df[disability_filt].groupby('Year')['Degree_injury'].count()
death_filt = (df['Degree_injury'] == 'death')& \
(df['Age'] <40)
num_death = df[death_filt].groupby('Year')['Degree_injury'].count()
minor_injury_filt = (df['Degree_injury'] == 'death') & \
(df['Age'] <40)
num_minor_injury = df[minor_injury_filt].groupby('Year')['Degree_injury'].count()
如何將這些變量組合在一張表中,如上表所示?
先感謝您,
pivot_table
根據您的條件過濾行後使用:
out = df[df['Age'].lt(40)].pivot_table(index='Year', columns='Degree_injury',
values='Age', aggfunc='count', fill_value=0)
print(out)
# Output:
Degree_injury death disability minor_injury
Year
2010 1 0 1
2011 1 1 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句