In the future, provide a sample dataset with expected input and output.
You can split the column on the '-'
charachter. Convert the columns to int and do a groupby to sum the point totals.
Given:
print(df)
Team Result Score
0 A W 3-0
1 A W 3-2
2 A L 2-4
3 A L 1-2
4 B W 1-0
5 B L 0-1
6 B T 1-1
7 B L 2-3
Code:
import pandas as pd
df = pd.DataFrame([['A','W','3-0'],
['A','W','3-2'],
['A','L','2-4'],
['A','L','1-2'],
['B','W','1-0'],
['B','L','0-1'],
['B','T','1-1'],
['B','L','2-3']], columns=['Team','Result','Score'])
df[['Team Points','Opp Points']] = df['Score'].str.split('-',expand=True)
df[['Team Points','Opp Points']] = df[['Team Points','Opp Points']].astype(int)
df_sum = df.groupby(['Team'])['Team Points'].sum()
Output:
print(df)
Team Result Score Team Points Opp Points
0 A W 3-0 3 0
1 A W 3-2 3 2
2 A L 2-4 2 4
3 A L 1-2 1 2
4 B W 1-0 1 0
5 B L 0-1 0 1
6 B T 1-1 1 1
7 B L 2-3 2 3
Sum:
print(df_sum)
Team
A 9
B 4
Name: Team Points, dtype: int32