Groupby and Sum函数,显示未分组项的索引和和



我正在使用NHL数据集,我正试图计算太平洋队对我的主队(油人队)的进球总和。我想删除第一个索引[0],它显示了非太平洋赛区球队的进球总数。有更简单的方法吗?

我的代码如下:
df.groupby('pacific_teams')['goals_against'].sum()

结果表明:

pacific_teams
0            6.0   ***<----Remove this***
Anaheim      5.0
Calgary      2.0
LA           0.0
San Jose     0.0
Seattle      0.0
Vancouver    2.0
Vegas        3.0

pacific_conditions = [
(df['Opponent'] == 'VAN'),
(df['Opponent'] == 'CGY'),
(df['Opponent'] == 'ANA'),
(df['Opponent'] == 'SEA'),
(df['Opponent'] == 'SJS'),
(df['Opponent'] == 'LAK'),
(df['Opponent'] == 'VGK')
]
pacific_teams= ['Vancouver', 'Calgary', 'Anaheim', 'Seattle', 'San Jose', 'LA', 'Vegas']
df['PAC'] = np.select(pacific_conditions, pacific_teams)
df.loc[df['PAC']!=0].groupby('PAC')['Goals_Against'].sum()

df.head()
Game        Date Opponent  EDM_Home  ... SHGF  SHGA  Blocked_Shots    Goalie
0     1  10/13/2021      VAN      True  ...  0.0   0.0           17.0     Smith
1     2  10/16/2021      CGY      True  ...  0.0   0.0           13.0     Smith
2     3  10/19/2021      ANA      True  ...  0.0   0.0           17.0  Koskinen
3     4  10/21/2021      ARI     False  ...  1.0   0.0           10.0  Koskinen
4     5  10/22/2021      VGK     False  ...  0.0   0.0           16.0  Koskinen
[5 rows x 23 columns]

EDIT:

pacific_teams或PAC中的团队名是字符串。所以要排除使用'0',而不仅仅是0。

df.loc[df['pacific_teams']!='0'].groupby('Goals_Against')['goals_against'].sum()
df.loc[df['PAC']!='0'].groupby('PAC')['Goals_Against'].sum()

最新更新