用熊猫将行分为两列

问题描述

我正在使用熊猫。

  1. 对于每行,无论是哪个县,我都想将“ AcresBurned”除以“ CrewsInvolved”。
  2. 对于每个县,我想对该县的总AcresBurned求和,然后除以该县所涉及的Crews总数。

我刚刚开始编码,无法解决此问题。请帮忙。非常感谢。

Counties AcresBurned  CrewsInvolved
1          400                2
2          500                3
3          600                5
1          800                9 
2          850                8

解决方法

这对于熊猫来说非常简单。您可以使用这些操作创建一个新列。

df['Acer_per_Crew'] = df['AcersBurned'] / df['CrewsaInvolved']

您可以使用groupby子句查看某个县的AcersBurned总数。

df_gb = df.groupby(['counties']) ['AcersBurned','CrewsInvolved'].sum().reset_index()

df_gb.columns = ['counties','AcersBurnedPerCounty','CrewsInvolvedPerCounty']

df = df.merge(df_gb,on = 'counties') 

完成此操作后,您可以创建一个具有类似算术运算的新列,以将AcersBurnedPerCounty除以CrewsInvolvedPerCounty。